Skip to content

Grant tigera-network-admin write access to UISettings in CRD mode#4834

Merged
caseydavenport merged 1 commit into
tigera:masterfrom
caseydavenport:casey-network-admin-uisettings
May 20, 2026
Merged

Grant tigera-network-admin write access to UISettings in CRD mode#4834
caseydavenport merged 1 commit into
tigera:masterfrom
caseydavenport:casey-network-admin-uisettings

Conversation

@caseydavenport
Copy link
Copy Markdown
Member

@caseydavenport caseydavenport commented May 20, 2026

In v3 CRD / webhooks mode (no aggregated calico-apiserver), a user bound to tigera-network-admin can't create/update/delete UISettings. The calico-uisettings-passthrough ClusterRole that grants the broad permission only ships when RequiresAggregationServer is true, so kube-apiserver RBAC was denying the request before the calico-webhooks UISettings handler could narrow access via a SAR on uisettingsgroups/data.

This adds a uisettings write rule to tigera-network-admin that only applies when RequiresAggregationServer is false. In aggregated mode the existing passthrough role still does the job and the apiserver's custom authorizer handles narrowing.

Fixes CORE-12757.

NONE

In v3 CRD / webhooks mode the calico-uisettings-passthrough ClusterRole
is not deployed, so kube-apiserver RBAC denied UISettings writes before
the calico-webhooks UISettings handler could narrow access via a SAR on
uisettingsgroups/data. Add a uisettings write rule to tigera-network-admin
that only applies when RequiresAggregationServer is false.
@caseydavenport caseydavenport merged commit c6c41bb into tigera:master May 20, 2026
9 checks passed
@caseydavenport caseydavenport deleted the casey-network-admin-uisettings branch May 20, 2026 22:04
caseydavenport added a commit that referenced this pull request May 20, 2026
) (#4839)

In v3 CRD / webhooks mode the calico-uisettings-passthrough ClusterRole
is not deployed, so kube-apiserver RBAC denied UISettings writes before
the calico-webhooks UISettings handler could narrow access via a SAR on
uisettingsgroups/data. Add a uisettings write rule to tigera-network-admin
that only applies when RequiresAggregationServer is false.

(cherry picked from commit c6c41bb)
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