Skip to content

K8s: RBAC feature#3385

Open
kaitlynmichael wants to merge 8 commits into
mainfrom
DOC-6678
Open

K8s: RBAC feature#3385
kaitlynmichael wants to merge 8 commits into
mainfrom
DOC-6678

Conversation

@kaitlynmichael

@kaitlynmichael kaitlynmichael commented May 29, 2026

Copy link
Copy Markdown
Contributor

Note

Low Risk
Documentation-only changes (new pages, link/path updates, aliases); no application code or runtime behavior.

Overview
Adds Kubernetes-native RBAC documentation for Redis Software on Kubernetes: users, ACLs, database- and cluster-scoped roles, role bindings (including LDAPGroup subjects), and a guide to migrate off deprecated RedisEnterpriseDatabase.spec.rolesPermissions via REC.spec.accessControl.policy.allowREDBRolesPermissions.

Reorganizes the security doc tree into Access control, Authentication (manage-rec-credentials, LDAP, SSO, configuration secrets), and Certificates and encryption, with aliases on moved pages so old URLs keep working. Cross-links are updated across Kubernetes topics, the operate security comparison table, and Vault/cert-manager pages.

Reviewed by Cursor Bugbot for commit 69897e2. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

DOC-6678

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Staging links:
https://redis.io/docs/staging/DOC-6678/operate/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/active-active/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/active-active/create-aa-crdb-cli/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/architecture/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/release-notes/8-0-6-releases/8-0-6-8-december2025/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/manage-acls/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/manage-bindings/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/manage-roles/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/manage-users/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/access-control/migrate-rolespermissions/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/allow-resource-adjustment/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/authentication/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/authentication/configuration-secrets/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/authentication/ldap/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/authentication/manage-rec-credentials/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/authentication/sso/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/certificates/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/certificates/add-client-certificates/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/certificates/cert-manager/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/certificates/internode-encryption/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/certificates/manage-rec-certificates/
https://redis.io/docs/staging/DOC-6678/operate/kubernetes/security/vault/

@jit-ci

jit-ci Bot commented May 29, 2026

Copy link
Copy Markdown

🛡️ Jit Security Scan Results

CRITICAL HIGH MEDIUM

✅ No security findings were detected in this PR


Security scan by Jit

@dwdougherty dwdougherty left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed this PR last night while it was a draft with no reviewers assigned. I guess I was bored. Anyway, language LGTM. Therre are, however, a few bad links. Here's the output from hugo serve on your branch:

WARN  [en] REF_NOT_FOUND: Ref "/operate/kubernetes/security/access-control/manage-users": "/Users/david.dougherty/src/docs/content/operate/kubernetes/security/access-control/_index.md:63:18": page not found
WARN  [en] REF_NOT_FOUND: Ref "/operate/kubernetes/security/access-control/manage-roles": "/Users/david.dougherty/src/docs/content/operate/kubernetes/security/access-control/_index.md:64:18": page not found
WARN  [en] REF_NOT_FOUND: Ref "/operate/kubernetes/security/access-control/manage-acls": "/Users/david.dougherty/src/docs/content/operate/kubernetes/security/access-control/_index.md:65:17": page not found
WARN  [en] REF_NOT_FOUND: Ref "/operate/kubernetes/security/access-control/manage-bindings": "/Users/david.dougherty/src/docs/content/operate/kubernetes/security/access-control/_index.md:66:26": page not found
WARN  [en] REF_NOT_FOUND: Ref "/operate/kubernetes/security/access-control/migrate-rolespermissions": "/Users/david.dougherty/src/docs/content/operate/kubernetes/security/access-control/_index.md:67:40": page not found

I'll go ahead and approve so you're not held up.

Postscript: You'll probably want to add the other two reviewers back now that I've approved. Sorry!

@kaitlynmichael kaitlynmichael requested a review from zcahana June 8, 2026 13:31
@kaitlynmichael kaitlynmichael marked this pull request as ready for review June 17, 2026 15:41

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 69897e2. Configure here.


- **One binding per role, many subjects** — every user with the role lives in one resource. A single apply changes access for every user at once, which can be either a feature or a hazard depending on the change.
- **One binding per user, multiple roles per binding** — each user has one binding listing the roles they hold. Deleting a user is a single binding delete. Adding a new role to an existing user means editing their binding.
- **One binding per user-role pair** — most verbose, but each grant is a discrete resource. Useful for attributing changes in GitOps and for scoping Kubernetes RBAC permissions on individual bindings.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong multi-role binding pattern

Medium Severity

The “one binding per user, multiple roles per binding” pattern is incorrect because RedisEnterpriseRoleBinding and RedisEnterpriseClusterRoleBinding expose a single roleRef, not a list of roles. Granting several roles to one user requires multiple binding resources, not one edited binding.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 69897e2. Configure here.


```sh
kubectl delete redisenterpriserolebinding --selector app=orders
kubectl delete redisenterpriserole orders-viewer

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong binding delete command

Medium Severity

The delete example uses kubectl delete redisenterpriserolebinding --selector app=orders, which removes bindings by label selector, not by the orders-viewer role name. Bindings are not labeled that way in the docs, so the command often deletes nothing and leaves role deletion blocked.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 69897e2. Configure here.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants