Narrow TemporalConnection RBAC: finalizer updates currently require main-resource writes
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Problem
Downstream deployers want to grant the controller minimum RBAC on TemporalConnection.
The chart already declares a /finalizers RBAC rule:
- apiGroups: [temporal.io]
resources: [temporalconnections/finalizers]
verbs: [update]
Ideally, this would move finalizer writes out of the main-resource permission path, while keeping writes scoped to /status and /finalizers.
In practice, the current DeprecatedTCReconciler mutates finalizers via main-object Update:
Because this is r.Update(ctx, &tc) on the main resource, Kubernetes RBAC checks update on temporalconnections, not only temporalconnections/finalizers. As a result, downstream charts must still grant main-resource update / patch, which broadens the controller's write surface on user-owned TemporalConnection.spec.
The same pattern appears to exist for the modern Connection kind in internal/controller/worker_controller.go (lines 760-774, lines 817-820), where temporal.io/delete-protection is added/removed via main-object Update.
Desired outcome
One of:
- Switch finalizer mutation in
DeprecatedTCReconcilerand the equivalentConnectionfinalizer paths to use the/finalizerssubresource explicitly, for example via controller-runtime's finalizers subresource support or an equivalent patch helper. - Or document in the chart README / RBAC comments that main-resource
update/patchontemporalconnectionsandconnectionsis required for finalizer management, so downstream RBAC reviews can treat it as an intentional requirement rather than over-broad permission. - Or land an interim doc note now and track a later code refactor.
Context
This came up during a Coinbase InfraSec review of a sandbox deployment of the controller. Sandbox deployment can proceed with documented broad RBAC, but production rollout requires a narrower or better-justified TemporalConnection write surface.
Related issues:
- #311 covers Secret-read RBAC reduction through file-based mTLS.
- #317 reports another impact of finalizer mutation via main-object
UpdateonTemporalWorkerDeploymentfield ownership.
This issue tracks the RBAC/security impact for TemporalConnection and Connection.
- Lingua principale
- Go
- Stelle
- 197
- Fork
- 79
- Merge medio
- 4g 3h
- PR unite (30g)
- 24
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di temporalio/temporal-worker-controller
-
Bug: v1.6's delete-protection finalizer is never removed from migrated TemporalWorkerDeployment/TemporalConnection, so they stay Terminating after the v1.7 migrationForse già presa @niyomukiza-mechack l’ha presa 5 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
temporalio/temporal-worker-controller#644 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
AI agent skillsAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
temporalio/temporal-worker-controller#633 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
refactor integration testsAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
temporalio/temporal-worker-controller#632 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
temporalio/temporal-worker-controller#631 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Draining scale-up (#587) fights a scale-to-zero ScaledObject: 30s 0↔1 loop, pod never becomes readyForse già presa @tomba7 l’ha presa 13 giorni fa. Apertaautoscaling documentation KEDA worker resource templates
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
temporalio/temporal-worker-controller#626 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di temporalio/temporal-worker-controller
Issue simili
-
goose sub-agent runs are never indexed: blame finds no session for any file a `delegate` child wroteApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
wakatime/wakatime-cli#1649 ·
I maintainer di solito rispondono entro 1 giorno
-
PathBuffer.Pop corrupts later error locations when a key contains "." or "["Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
danielgtaylor/huma#1135 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
stacklok/toolhive-catalog#1734 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: how to get more careful answers (Effort, reasoning models, Reasoning level, Deliberate)Apertadocumentation priority:p1
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yeixio/toskar-core#697 ·
I maintainer di solito rispondono entro 1 giorno