Skip to content

ops(PLAN57): この端末の機密をアカウントグループ別の置き場へ移し直した実行の記録 (#182) - #187

Merged
takemi-ohama merged 6 commits into
mainfrom
ops/plan57-secret-group-relocation
Sep 15, 2026
Merged

takemi-ohama merged 6 commits into
mainfrom
ops/plan57-secret-group-relocation

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

Summary

PLAN56(#184)の配布後に、この端末の機密を OpenBao のアカウントグループ別の置き場へ移し直し、古いパスを版の履歴ごと消した operation の実行の記録。コードは変えない。

  • 記録: issues/PLAN57_secret-group-relocation.md(計画・設計の節・単位 0〜4 の記録)
  • 実施: 2026-09-16。単位 1〜3 と単位 4(取り消せない)は、それぞれ実行の前に利用者の承認を得た
  • 前提の変化: 実施の直前に carmo-cdk 側でグループ単位のポリシーが実環境へ反映された。token の identity_policies と bao token capabilities で権限を確かめてから実行した
  • 結果: この端末は version: 2(default → nyle)。with / kkg のプロジェクトへ nyle のチーム共通と会社固有の個人のキーが届かなくなった(with 21 件 / kkg 22 件)。nyle のプロジェクトは差分 0 行
  • Closes 機密ストアのチーム共通と個人単位の置き場を、アカウントグループ(nyle / with / kkg)ごとに分ける #182

Test plan

受け入れ条件(記録の「受け入れ条件」):

  • 1. env backend status が レイアウト: group (version 2)、$DEVBASE_ROOT で default → nyle、projects/with-ai-dev で with (projects/with-ai-dev/env)(exit=0)
  • 2. env exec -- env の比較: with-ai-dev / project-trygroup-prd で「届かなくなるキー」が無く値の変わった変数 0 件、bi-tools は基準と差分 0 行(exit=0)
  • 3. 別経路の bao kv get で新しい 9 パスのキー数が表と一致(22 / 25 / 17 / 17 / 1×5、exit=0)
  • 4. 古い 7 パスの bao kv metadata get が No value found(exit=2。対照の team/nyle/global は読める)
  • 5. 記録に hvs. / secret_id= / role_id= が無い(条件の行を除いて grep 0 件)。status の role_id は伏せた

🤖 Generated with Claude Code

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | kiro | APPROVE

operation の実行記録として自己完結している。各単位にコマンド・出力・終了コード・取り消し手段がそろい、受け入れ条件 1〜5 が記録の出力(env backend status / env exec の差分表 / 別経路の bao kv get のキー数 22/25/17/17/1×5 / metadata get の終了コード 2)と対応している。機密の値・role_id / secret_id / token の漏れは無く(status の role_id は伏せ、BAO_TOKEN は変数経由)、取り消せない単位 4 は承認取得を明記。差分は当該 1 ファイルのみで backups/plan57/ の生成物は混入していない。修正を要する指摘は無い。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | agy | APPROVE

指摘事項はありません。機密情報の非表示、各実行単位のコマンド・出力・終了コード・取り消し手段、および受け入れ条件の検証記録が整合していることを確認しました。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | kiro | COMMENT

数値(キー数 22/25/17、届かなくなるキーの件数 21/22、17 キー一覧)は相互に整合し、機密の値・role_id・secret_id・token の漏れは無く(受け入れ条件 5 の grep 条件行と role_id [伏せた] のみ)、取り消せない単位 4 は承認取得を記録済みで問題ありません。1 点、GOOGLE_CLOUD_LOCATION の届かなくなるキー表と単位 3 の検証結果の整合について、該当行にインラインで修正提案を残しました。

Comment thread issues/PLAN57_secret-group-relocation.md

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | codex | REQUEST_CHANGES

仕様適合: 確定仕様の巻き戻しを除き、受け入れ条件 2 の達成判定を実測と整合させてください。

docs/specifications/secret-backend.md:508 [major / 正確性] この変更で確定仕様が「version は 1 だけ」に戻り、実装済みのグループ別パス・設定・運用手順も削除されていますが、backend_config.py は引き続き version 2 を受け付け、本 PR 自身も version 2 への切り替えを記録しています。PLAN56 で確定した仕様を維持するため、このファイルの巻き戻しを差分から除いてください。

issues/PLAN57_secret-group-relocation.md:257 [major / 検証] 受け入れ条件 2 は対象キーの値が env exec の出力に無いことを要求していますが、236〜237 行では対象の GOOGLE_CLOUD_LOCATION がホスト由来で残ったと記録されており、このままでは「満たす」と判定できません。ホストからの継承を除いた再検証結果を記録するか、継承値を許容する条件へ変更した根拠を明記し、受け入れ条件と PR 本文の達成判定を実測に合わせてください。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | codex | REQUEST_CHANGES

受け入れ条件 2 の判定と実行結果の不一致について、修正を 1 件指摘します。

Comment thread issues/PLAN57_secret-group-relocation.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | codex | REQUEST_CHANGES

受け入れ条件 2 の根拠となる再検証記録を、実測の終了コードと整合させてください。

Comment thread issues/PLAN57_secret-group-relocation.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | agy | COMMENT

総評

アカウントグループ別の機密移し直しと古いパスの削除、および受け入れ条件の検証結果が適切に記録されていることを確認しました。再検証コマンドの終了コード表記について 1 点インラインで修正提案を記載しています。

Comment thread issues/PLAN57_secret-group-relocation.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 4 | kiro | APPROVE

キー数(21+1=22 / 26−1=25 / 17 / 17)と単位 3 の行差分(with-ai-dev 106→85=21・project-trygroup-prd 106→84=22・bi-tools 差分 0)が「配る先」「届かなくなるキー」の表と整合。機密の値・token・role_id/secret_id の露出なし(role_id は伏せ字)。単位 4 は取り消し不可として承認記録あり。round 4 で追記された GOOGLE_CLOUD_LOCATION の再検証(env -u でホスト値を外して判定)は child_env が os.environ を基底に機密を重ねる実装と整合し、置き場から届かなくなったことを正しく確かめている。修正を要する点は見当たらない。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 4 | agy | APPROVE

PLAN57 の計画・設計・実行記録・受け入れ条件の検証結果を確認しました。修正を要する問題は見当たらず、承認します。

takemi-ohama and others added 6 commits September 16, 2026 05:51
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

機密ストアのチーム共通と個人単位の置き場を、アカウントグループ(nyle / with / kkg)ごとに分ける

1 participant