{
  "id": "redis_enterprise_role_api",
  "title": "RedisEnterpriseRole API Reference",
  "url": "https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_role_api/",
  "summary": "",
  "tags": [
    "docs",
    "operate",
    "kubernetes"
  ],
  "last_updated": "2026-07-24T10:52:10-07:00",
  "page_type": "content",
  "content_hash": "1334a687c5292aeae4e5dcba8100137a3c975ea136f354d4cb66113048d294f7",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "apiVersion:\n\n\n- [app.redislabs.com/v1alpha1](#appredislabscomv1alpha1)\n\n\n\n\n# app.redislabs.com/v1alpha1\n\n\n\n\nRedisEnterpriseRole is a scoped role definition. It grants users access to selected databases within a Redis Enterprise Cluster.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n      <td>apiVersion</td>\n      <td>string</td>\n      <td>app.redislabs.com/v1alpha1</td>\n      <td>true</td>\n      </tr>\n      <tr>\n      <td>kind</td>\n      <td>string</td>\n      <td>RedisEnterpriseRole</td>\n      <td>true</td>\n      </tr>\n      <tr>\n      <td><a href=\"https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta\">metadata</a></td>\n      <td>object</td>\n      <td>Refer to the Kubernetes API documentation for the fields of the `metadata` field.</td>\n      <td>true</td>\n      </tr><tr>\n        <td><a href=\"#spec\">spec</a></td>\n        <td>object</td>\n        <td>\n          RedisEnterpriseRoleSpec defines the desired state of a RedisEnterpriseRole.<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td><a href=\"#status\">status</a></td>\n        <td>object</td>\n        <td>\n          RedisEnterpriseRoleStatus defines the observed state of a Redis Enterprise role object. This status type is used by both RedisEnterpriseClusterRole and RedisEnterpriseRole which share the same status structure.<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "spec",
      "title": "spec",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#)</sup></sup>\n\nRedisEnterpriseRoleSpec defines the desired state of a RedisEnterpriseRole.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td><a href=\"#specscopes\">scopes</a></td>\n        <td>[]object</td>\n        <td>\n          Scopes define the databases to which this role applies.\nEach scope references a RedisEnterpriseDatabase by name or selector (kind\nRedisEnterpriseDatabase or empty), or an internal Redis Enterprise database\nby name (kind 'bdb', name only).\nFor 'bdb' scopes the role grants management access only; its ACL is not bound\nto that database's permissions.<br/>\n        </td>\n        <td>true</td>\n      </tr><tr>\n        <td><a href=\"#specacl\">acl</a></td>\n        <td>object</td>\n        <td>\n          ACL defines the data access permissions granted by this scoped role.\nReferences a RedisEnterpriseACL (kind RedisEnterpriseACL or empty) or an\ninternal Redis Enterprise ACL by name (kind 'redis_acl').<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td>managementRole</td>\n        <td>enum</td>\n        <td>\n          ManagementRole is the named set of Redis Enterprise management permissions assigned to this scoped role. RedisEnterpriseRole supports only database-scoped management roles. If omitted, the role uses the None management role.<br/>\n          <br/>\n            <i>Enum</i>: DBMember, DBViewer, None<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "spec-scopes",
      "title": "spec.scopes[]",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#spec)</sup></sup>\n\nA reference to another object(s), either directly by name, or via a label selector.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td>kind</td>\n        <td>enum</td>\n        <td>\n          Kind of the referent.<br/>\n          <br/>\n            <i>Enum</i>: , RedisEnterpriseDatabase, bdb<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td>name</td>\n        <td>string</td>\n        <td>\n          Name of the referent.<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td><a href=\"#specscopesselector\">selector</a></td>\n        <td>object</td>\n        <td>\n          Selector based on label attached to the object.<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "spec-scopes-selector",
      "title": "spec.scopes[].selector",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#specscopes)</sup></sup>\n\nSelector based on label attached to the object.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td><a href=\"#specscopesselectormatchexpressions\">matchExpressions</a></td>\n        <td>[]object</td>\n        <td>\n          matchExpressions is a list of label selector requirements. The requirements are ANDed.<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td>matchLabels</td>\n        <td>map[string]string</td>\n        <td>\n          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "spec-scopes-selector-matchexpressions",
      "title": "spec.scopes[].selector.matchExpressions[]",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#specscopesselector)</sup></sup>\n\nA label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td>key</td>\n        <td>string</td>\n        <td>\n          key is the label key that the selector applies to.<br/>\n        </td>\n        <td>true</td>\n      </tr><tr>\n        <td>operator</td>\n        <td>string</td>\n        <td>\n          operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.<br/>\n        </td>\n        <td>true</td>\n      </tr><tr>\n        <td>values</td>\n        <td>[]string</td>\n        <td>\n          values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "spec-acl",
      "title": "spec.acl",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#spec)</sup></sup>\n\nACL defines the data access permissions granted by this scoped role.\nReferences a RedisEnterpriseACL (kind RedisEnterpriseACL or empty) or an\ninternal Redis Enterprise ACL by name (kind 'redis_acl').\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td>name</td>\n        <td>string</td>\n        <td>\n          Name of the referent.<br/>\n        </td>\n        <td>true</td>\n      </tr><tr>\n        <td>kind</td>\n        <td>enum</td>\n        <td>\n          Kind of the referent.<br/>\n          <br/>\n            <i>Enum</i>: , RedisEnterpriseACL, redis_acl<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    },
    {
      "id": "status",
      "title": "status",
      "role": "content",
      "text": "<sup><sup>[↩ Parent](#)</sup></sup>\n\nRedisEnterpriseRoleStatus defines the observed state of a Redis Enterprise role object. This status type is used by both RedisEnterpriseClusterRole and RedisEnterpriseRole which share the same status structure.\n\n<table>\n    <thead>\n        <tr>\n            <th>Name</th>\n            <th>Type</th>\n            <th>Description</th>\n            <th>Required</th>\n        </tr>\n    </thead>\n    <tbody><tr>\n        <td>observedGeneration</td>\n        <td>integer</td>\n        <td>\n          The most recent generation of this resource that was observed and acted upon by the controller.<br/>\n          <br/>\n            <i>Format</i>: int64<br/>\n        </td>\n        <td>false</td>\n      </tr><tr>\n        <td>uid</td>\n        <td>string</td>\n        <td>\n          The internal UID of the Role object defined in the Redis Enterprise Cluster.<br/>\n        </td>\n        <td>false</td>\n      </tr></tbody>\n</table>"
    }
  ],
  "examples": []
}
