→AWS IAM関連
IAMポリシー†
- メモ(2023.1)
- 1つのIAMグループに対して管理ポリシーやインラインポリシーはそれぞれ最大10までしか付与できない。
- 10以上の管理ポリシーを付与したい場合は、複数のIAMグループを作り、それらのグループにポリシーを分散して付与した上で、ユーザを両方のグループに所属させるとよい。
- このような使い方を踏まえ、IAMグループは単なる「ユーザの組織単位での集まり」としてよりも付与するポリシーの分類を意識したグルーピングにした方が良さそう。
- ポリシータイプ…参照:IAM でのポリシーとアクセス許可 - AWS Identity and Access Management 2022.4
- アイデンティティベースのポリシー…ユーザーやロールなどのアイデンティティにアタッチするポリシー。管理ポリシーとインラインポリシーがある。
- リソースベースのポリシー…インラインポリシーをリソースにアタッチするポリシー。
- セッションポリシー…AWS CLI または AWS API を使用してロールまたはフェデレーティッドユーザーを引き受ける場合に使うポリシー
- アクセス許可の境界…アイデンティティベースのポリシーが IAM エンティティに付与できるアクセス許可の上限
- サービスコントロールポリシー(SCP)…組織または組織単位 (OU) のメンバーアカウントのアクセス許可の上限
- アクセスコントロールリスト(ACL)…ACL がアタッチされているリソースにアクセスすることができる他のアカウントのプリンシパルを制御。クロスアカウントのアクセス許可
- ※分類軸がぐちゃぐちゃでわかりづらいが、本当にポリシーのタイプという感じなのは最初の3つで、あとの3つは上限値と他アカの制御
- JSON ポリシー 2022.4
- Version – 使用するポリシー言語のバージョン。2012-10-17
- Statement – このポリシーのメイン要素であり、以下の要素のコンテナになります。ポリシーには、複数のステートメントを含めることができます。
- Sid (オプション) – 複数のステートメントを区別するための任意のステートメント ID が含まれます。
- Effect – Allow / Deny
- Principal (一部の状況でのみ必須)
- リソースベースのポリシーを作成する場合は、アクセスを許可または拒否するアカウント、ユーザー、ロール、またはフェデレーティッドユーザーを指定する必要があります。
- ユーザーまたはロールにアタッチする IAM アクセス許可ポリシーを作成する場合は、この要素を含めることはできません。プリンシパルは、そのユーザーまたはロールを暗黙に示しています。
- Action – ポリシーで許可または拒否するアクションのリストが含まれます。(Resource 一部の状況でのみ必須)
- IAM アクセス許可ポリシーを作成する場合は、アクションが適用されるリソースのリストを指定する必要があります。
- リソースベースのポリシーを作成する場合は、この要素はオプションです。この要素を含めない場合、アクションが適用されるリソースは、ポリシーがアタッチされているリソースです。
- Condition (オプション) ポリシーでアクセス許可を付与する状況を指定します。
アイデンティティポリシー/リソースベースポリシー†
- IAMポリシーは何を対象にアタッチするポリシーかで2つに分かれる
- アイデンティティベースポリシー…ユーザ/グループ/ロールにアタッチするポリシー
- リソースベースポリシー…リソースとは主にAWSの個々のサービス(例えばS3)を指す
- アイデンティティベースポリシーはスタンドアロンかどうかで別れ、さらにスタンドアロンポリシーは管理主体によって2つに分かれる
- リソースベースポリシーはインラインポリシーしかない
- リソースベースのポリシーとして最も一般的な例
- Amazon S3 バケットポリシー
- IAM ロールの信頼ポリシー
リソースベースポリシー†
Cedar/Amazon Verified Permission†
Last-modified: 2023-10-15 (日) 12:14:28