🤖 CoderWorkspaceClaim Share mode: claim reasons reveal facts about named Coder users

オープン
#449 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 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

  1. 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).
  2. 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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

coder/coder-k8s のほかの issue

coder/coder-k8s の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。