Skip to content

[release-v1.42] Grant tigera-network-admin write access to UISettings in CRD mode#4839

Merged
caseydavenport merged 1 commit into
tigera:release-v1.42from
caseydavenport:casey-cherry-pick-4834-v1.42
May 20, 2026
Merged

[release-v1.42] Grant tigera-network-admin write access to UISettings in CRD mode#4839
caseydavenport merged 1 commit into
tigera:release-v1.42from
caseydavenport:casey-cherry-pick-4834-v1.42

Conversation

@caseydavenport
Copy link
Copy Markdown
Member

@caseydavenport caseydavenport commented May 20, 2026

Cherry-pick of #4834 to release-v1.42.

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

…gera#4834)

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)
@caseydavenport caseydavenport requested a review from a team as a code owner May 20, 2026 22:16
@marvin-tigera marvin-tigera added this to the v1.42.1 milestone May 20, 2026
@caseydavenport caseydavenport merged commit 2f1d122 into tigera:release-v1.42 May 20, 2026
6 checks passed
@caseydavenport caseydavenport deleted the casey-cherry-pick-4834-v1.42 branch May 20, 2026 22:43
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.

2 participants