Mount Kubernetes API token only into client containers in pods with sidecars
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 57/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- go, kubernetes
調査の方向性
Start with the workload manifest generation for ate-api-server, atelet, and atenet-router, then read cmd/ate-setup/internal/steps/serviceaccounttoken_test.go. Check how the PodSpecs and projected service account volumes are defined, and extend the manifest tests to verify token access per container. Done means the three API client containers retain access while the objectstore-plugin and envoy sidecars do not.
索引モデルが issue の本文から書いたものです。
説明
PR #3466 will disable automountServiceAccountToken across all Substrate pods and ServiceAccounts that do not interact with the Kubernetes API (ateworker, atenet-egress, postgres, ate-idp-server, rustfs).
However, for the workloads that do require Kubernetes API access (ate-api-server, atelet, and atenet-router), Kubernetes automounts the ServiceAccount token into every container in the pod by default. This exposes the API credential to containers that do not need it:
objectstore-pluginsidecar inate-api-serverandatelet(transfers snapshots and accesses cloud storage via Workload Identity / STS, not Kubernetes tokens)envoyinatenet-router(parses untrusted ingress traffic; only theatenet-routercontroller container queries EndpointSlices)
If one of these sidecars is compromised, the attacker inherits the pod's Kubernetes API permissions.
Proposal:
- Set
automountServiceAccountToken: falseon the PodSpec forate-api-server,atelet, andatenet-router. - Hand-mount a projected
kube-api-accessvolume (containingtoken,ca.crt, andnamespace) at/var/run/secrets/kubernetes.io/serviceaccountexclusively into the API client container (ate-api-server,atelet, andatenet-router). - Extend the manifest tests in
cmd/ate-setup/internal/steps/serviceaccounttoken_test.goto assert token isolation per-container, ensuring sidecars never mount the token and API clients always mount it.
- 主要言語
- Go
- スター
- 6.1k
- フォーク
- 676
- 平均マージ
- 2日 2時間
- マージ済み PR(30日)
- 538
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
agent-substrate/substrate のほかの issue
-
Clean up the ko retry tests対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンarea/dev-infra area/reliability area/tests kind/cleanup
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
agent-substrate/substrate#3461 ·
メンテナーはふだん 1 日以内に返信
-
egress: drop the empty-provider check in providerCredential対応中かも @cloudonly が 5 日前に担当しました。 オープンarea/network kind/cleanup
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
agent-substrate/substrate#3428 ·
メンテナーはふだん 1 日以内に返信
-
kubectl-ate create actor-template -f <file> fails with useless error対応中かも @cloudonly が 7 日前に担当しました。 オープンarea/cli kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
agent-substrate/substrate#3406 ·
メンテナーはふだん 1 日以内に返信
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60s対応中かも @ericcurtin が 7 日前に担当しました。 オープンarea/dev-infra area/observability area/security kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
agent-substrate/substrate#3282 ·
メンテナーはふだん 1 日以内に返信
-
filecachegc.runPass suppresses eviction logs when FreedBytes < target and consecutiveShortfalls > 3対応中かも @ericcurtin が 6 日前に担当しました。 オープンarea/node area/observability area/storage kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
agent-substrate/substrate#3281 ·
メンテナーはふだん 1 日以内に返信
agent-substrate/substrate の issue をすべて見る
似ている issue
-
Wayfinder sample agents don't reach the Data Plane on the quickstart pack対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンType/Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
thunder-id/thunderid#6402 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
TUM-Dev/Campus-Backend#678 ·
メンテナーはふだん 1 日以内に返信
-
fix(app): fail closed if GetGeneralSetting fails during initialization対応中かも @kalavt が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
agent-ready area:dsl
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
jmbarzee/temporal-architect#407 ·
メンテナーはふだん 1 日以内に返信