Skip to content

Add DRA granular status authorization RBAC rules#3770

Open
praveen0raj wants to merge 1 commit into
loft-sh:mainfrom
praveen0raj:add-dra-granular-status-rbac
Open

Add DRA granular status authorization RBAC rules#3770
praveen0raj wants to merge 1 commit into
loft-sh:mainfrom
praveen0raj:add-dra-granular-status-rbac

Conversation

@praveen0raj
Copy link
Copy Markdown

Summary

  • Adds resourceclaims/binding with update/patch verbs for scheduler-like allocation operations
  • Adds resourceclaims/driver with associated-node:update, associated-node:patch, arbitrary-node:update, arbitrary-node:patch verbs for proxying DRA driver status updates
  • Both rules are gated behind the existing sync.toHost.resourceClaims.enabled conditional

Starting in Kubernetes v1.36, the DRAResourceClaimGranularStatusAuthorization feature gate (beta, on-by-default) enforces fine-grained authorization on ResourceClaim status updates. Since vcluster proxies all ResourceClaim operations, it needs permissions on both new synthetic subresources. These permissions are inert on earlier Kubernetes versions.

Ref: kubernetes/kubernetes#138149

Test plan

  • Verified via SubjectAccessReview that without fix, resourceclaims/binding and resourceclaims/driver return false
  • Verified via SubjectAccessReview that with fix, all new permissions return true
  • Helm template renders correctly with sync.toHost.resourceClaims.enabled=true
  • Confirm no regression on older clusters (new permissions are inert)

…nular status authorization

Starting in Kubernetes v1.36, the DRAResourceClaimGranularStatusAuthorization
feature gate (beta, on-by-default) enforces fine-grained authorization checks
for ResourceClaim status updates. Since vcluster proxies all ResourceClaim
operations, it needs permissions on both new synthetic subresources:

- resourceclaims/binding (update, patch) for scheduler-like allocation
- resourceclaims/driver (associated-node and arbitrary-node verbs) for
  proxying node-local and control-plane DRA driver status updates

Ref: kubernetes/kubernetes#138149
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant