🤖 CoderWorkspaceClaim Share mode: claim reasons reveal facts about named Coder users
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go, kubernetes
調査の方向性
Start with the claim reasons ShareUserNotFound and ShareUserNotEligible and the messages that claim status shows for them, then trace where the operator sets them. Decide between the two options in the issue: a single generic refusal with details moved to Events or the operator log, or keeping the reasons and documenting the exposure in the pool how-to. The maintainers must choose first, since the work depends on that decision.
索引モデルが issue の本文から書いたものです。
説明
Problem
A Share claim (#446) shows why its user cannot get the share. The reasons ShareUserNotFound and ShareUserNotEligible and their messages tell the claimant whether a named Coder user exists, whether the user is active, and whether the user is a member of the template's organization and of a group in the owner's shareGroupIDs. So anyone who can create and read claims in a namespace with a Share pool can learn these facts about Coder users, even without access to Coder's user directory.
Found by the Codex security review of #446 (round 4, P3): https://github.com/coder/coder-k8s/pull/446#discussion_r4433728850
Impact
Only principals that the namespace's RBAC lets create and read claims see the reasons, and only for the users they name. Share mode is an admin opt-in per owner. No data loss. Plan 6.4 of #153 defines these reasons on purpose so that a claimant can see why a claim waits, and the refusal names a group that Coder would not let the operator read, so that an admin can fix the pool.
Options
- Give the claim one generic refusal reason, and keep the details where only admins see them (for example Events in the operator's namespace, or the operator log).
- Keep the detailed reasons and add a docs note in the pool how-to: claim status shows whether a named Coder user exists, is active, and is in the organization and a listed group, so grant claim create and read only to people who can know that.
Refs #153.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh
- 主要言語
- Go
- スター
- 5
- フォーク
- 3
- 平均マージ
- 1時間 50分
- マージ済み PR(30日)
- 160
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/coder-k8s のほかの issue
-
CoderWorkspacePool: count bound and used members only when their owner matches the pool's ownerオープン
難易度 3/5 半日 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 半日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
メンテナーはふだん 1 日以内に返信
coder/coder-k8s の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
open-feature/flagd-schemas#237 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
superplanehq/superplane#9234 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
betterleaks/betterleaks#469 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
prime-radiant-inc/evener#5901 ·
メンテナーはふだん 1 日以内に返信