mcpField
I
iam-helper-for-policy-management

iam-helper-for-policy-management

github.com/googleセキュリティ21.6k2.6k 回インストール今日更新
リポジトリ

iam-helper-for-policy-management について

Google Cloud IAM の許可ポリシーと拒否ポリシーを管理する運用者向けスキルです。読み取り専用の確認と変更を分け、変更前の承認と実行後の検証を求めます。

主な機能

  1. 01IAM v1 許可ポリシーの確認
  2. 02IAM v2 拒否ポリシーの確認
  3. 03ポリシー変更の計画と確認
  4. 04変更後の状態検証
  5. 05一律の公開アクセスを拒否

活用シーン

  1. 01プロジェクト、フォルダー、組織のポリシー確認
  2. 02アタッチメントポイントの拒否ポリシー確認
  3. 03ロールバインディングやポリシー更新の計画
  4. 04承認済みポリシー変更の検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill iam-helper-for-policy-management

インストール後、Claude Code で/iam-helper-for-policy-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
attribution.md
v1-allow-policies.md
v2-deny-policies.md

詳細

ポリシー管理用 IAM ヘルパー

IAM v1(許可ポリシー)と IAM v2(拒否ポリシー)にわたる IAM の許可ポリシーと拒否ポリシーのライフサイクルおよび管理を調整します。

使用状況の帰属

必ずお読みください:gcloud、REST API、または MCP コマンドを実行する前に、 使用状況の帰属の指示を 必ず読み、従ってください。


コアコンセプトとパラダイム

IAM では、2 つのポリシーパラダイムを使用します。

  1. IAM v1(許可ポリシー):特定のリソースに対して、プリンシパル(ユーザー、サービスアカウント、 グループ、ドメイン)にロールを付与します。Resource Manager のリソース(組織、フォルダー、 プロジェクト)に加え、サポートされている Google Cloud サービス全体の個々のリソースにも対応します。
  2. IAM v2(拒否ポリシー):許可ポリシーで付与されている内容にかかわらず、指定されたプリンシパルが 指定された権限を使用できないように、組織、フォルダー、またはプロジェクトレベルで明示的なガードレールを 設定します。許可ポリシーより先に評価されます。

ワークフローと判断ツリー

ポリシー管理のリクエストを受け取ったら、操作が読み取り専用か変更を伴う操作か、 また、対象が**IAM v1(許可ポリシー)かIAM v2(拒否ポリシー)**かを判断します。

1. 読み取り専用操作(自律実行)

読み取り専用の操作には、以下が含まれます。

  • IAM v1 許可ポリシー:プロジェクト、フォルダー、組織に対する get-iam-policy、 または gcloud iam list-testable-permissions //cloudresourcemanager.googleapis.com/projects/PROJECT_ID。
  • IAM v2 拒否ポリシー:--attachment-point と --kind=denypolicies を指定した gcloud iam policies list または gcloud iam policies get。

読み取り専用の操作では、コマンドを自律的に実行して状態を確認し、 クエリ結果をユーザーにはっきりと提示してください。

2. 変更を伴う操作(計画と確認のプロトコル)

変更を伴う操作には、以下が含まれます。

  • IAM v1 許可ポリシー:プロジェクト、フォルダー、組織、またはリソースレベルでの add-iam-policy-binding、remove-iam-policy-binding、または set-iam-policy ( references/v1-allow-policies.mdを参照)。
  • IAM v2 拒否ポリシー:YAML/JSON のポリシーファイルを使用した、アタッチポイント (cloudresourcemanager.googleapis.com/projects/PROJECT_ID、 cloudresourcemanager.googleapis.com/folders/FOLDER_ID、または cloudresourcemanager.googleapis.com/organizations/ORG_ID)に対する拒否ポリシーの create、update、または delete ( references/v2-deny-policies.mdを参照)。

変更を伴う操作では、以下の計画と確認のプロトコルに従ってください。ユーザーの事前承認を得ずに、 変更を伴うコマンドを自律的に実行してはなりません。


実行と安全性のプロトコル

  • 計画して確認する(自律的な変更は禁止):許可ポリシーや拒否ポリシーに対する変更は、稼働中のセキュリティ境界とアクセス制御を変更します。ユーザーから事前に明示的な確認を得ずに、ツール呼び出しで変更を伴う gcloud コマンドを直接実行してはなりません。変更の適用を求められた場合は、次の手順に従ってください。
    1. コマンドを作成する:--member、--role、--attachment-point、--kind=denypolicies、--policy-file など、すべてのパラメーターを含む、正確で完全な gcloud コマンドを作成します。
    2. 影響と反映にかかる時間を警告する:この変更は稼働中の環境に影響を及ぼす可能性があり、Google Cloud のグローバルインフラストラクチャ全体に反映されるまで時間がかかることを一般的な警告として伝えます。
    3. ユーザーに確認を求める:稼働中の環境に変更を適用する前に、ユーザーに承認を求めます。
  • 実行後の検証:ユーザーの承認を得て変更を伴うポリシー変更を実行した後、対応する検証コマンドを実行して(具体的な検証手順は references/v1-allow-policies.md および references/v2-deny-policies.md を参照)、有効な状態が期待どおりであることを確認してから、完了を報告します。
  • セキュリティガードレール(一般公開と包括的なアクセスの拒否):allUsers または allAuthenticatedUsers に基本ロール(roles/owner、roles/editor、roles/viewer、roles/admin、roles/writer、roles/reader)や広範な権限を付与してはなりません。一般公開を求める包括的なアクセス要求は明示的に拒否し、プロジェクトの所有権やアクセスを公開する深刻なセキュリティリスクについて説明したうえで、特定の認証済み ID に限定した最小権限のロールバインディングを提案します。

関連リンク

コメント