IAM: プリンシパル・ロール・ポリシー
誰に、どの範囲へ、何を許可するかを分解して最小権限を設計する章。Google アカウント、グループ、サービス アカウントを使い分け、Owner を日常運用から外す。
TL;DR
- プリンシパルは「権限を受け取る主体」であり、人・グループ・ワークロードを表す。
- ロールは権限の束、IAM ポリシーは「誰へどのロールを付けるか」の対応表である。
- 個人への直接付与を増やさず、責務ごとのサービス アカウントとグループで管理する。
01主体を先に決める
Google アカウント、Google グループ、サービス アカウントの責務を区別する。
プリンシパルは「権限を受け取る主体」であり、人・グループ・ワークロードを表す。
02ポリシーで範囲を固定する
組織・フォルダ・プロジェクト・リソースのどこに binding を置くかを考える。
ロールは権限の束、IAM ポリシーは「誰へどのロールを付けるか」の対応表である。
03最小権限で運用する
Owner は緊急用に限定し、通常は必要なロールだけを与える。
個人への直接付与を増やさず、責務ごとのサービス アカウントとグループで管理する。
04AWS 脳で読み替える
似た概念を対応づけつつ、同じ「ロール」という言葉に引っ張られない。
AWS を知っていると対応づけは助けになる。ただし、Google Cloud IAM ではロールが権限の束で、ポリシーがプリンシパルとロールを結びつけるルールになる。
| Google Cloud | AWSでの近い概念 | 覚え方 |
|---|---|---|
| プリンシパル | IAM エンティティ全般(IAM ユーザー、IAM ロール、フェデレーションユーザーなど) | 「誰が」操作するか |
| Google アカウント | IAM Identity Center ユーザー | 人が使うアカウント |
| サービス アカウント | ワークロード用 IAM ロール | アプリやサービスが使う主体 |
| Google Cloud のロール | IAM 権限ポリシー | 「何ができるか」の権限セット |
| Google Cloud のポリシー | ユーザーやロールへの IAM 権限ポリシーのアタッチ | 「誰に何を許可するか」を結ぶ |
これは理解を始めるための対応表で、完全な1対1ではない。特に Google Cloud のロールは権限の束、AWS IAM ロールは引き受けて使う主体として覚える。
結論
- プリンシパルは「権限を受け取る主体」であり、人・グループ・ワークロードを表す。
- ロールは権限の束、IAM ポリシーは「誰へどのロールを付けるか」の対応表である。
- 個人への直接付与を増やさず、責務ごとのサービス アカウントとグループで管理する。