Narrow TemporalConnection RBAC: finalizer updates currently require main-resource writes
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
この issue はまだ評価されていません。
説明
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.
- 主要言語
- Go
- スター
- 197
- フォーク
- 79
- 平均マージ
- 3日 4時間
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
temporalio/temporal-worker-controller のほかの issue
-
[Feature Request] Helm chart: support topologySpreadConstraints on the controller Deployment対応中かも @akolacz が 1 日前に担当しました。 オープンhelm
temporalio/temporal-worker-controller#658 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[Bug] With a pinned build ID, the controller keeps updating the Deployment after a template changeオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 58/100
temporalio/temporal-worker-controller#656 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
temporalio/temporal-worker-controller#655 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
temporalio/temporal-worker-controller#654 ·
メンテナーはふだん 1 日以内に返信
-
Bug: v1.6's delete-protection finalizer is never removed from migrated TemporalWorkerDeployment/TemporalConnection, so they stay Terminating after the v1.7 migration対応中かも @niyomukiza-mechack が 8 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
temporalio/temporal-worker-controller#644 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
temporalio/temporal-worker-controller の issue をすべて見る
似ている issue
-
[BUG]: Windows GUI package of v1.17.0-rc3 has no GTK DLLs対応中かも @andrut-ds が今日担当しました。 オープンbug CI/CD Pactus-GUI Windows
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
pactus-project/pactus#2428 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
メンテナーはふだん 1 日以内に返信
-
feat
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
ory/hydra-maester#312 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
rossoctl/context-guru#610 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信