アクセスコントロール設計でアクセス制御にアイデンティティベースポリシー、VPCエンドポイントポリシー、リソースベースポリシーの3つのポリシーを利用しました。
これらのポリシーの組み合わせによりどのような結果になるのかを表式にまとめました。
アイデンティティベースポリシーとリソースベースポリシーの組み合わせ
アイデンティティベースポリシーは、IAMユーザー、グループ、ロールにアタッチされてそのIAMが実行できるアクションとリソースにアクセスできる条件を定義します。
一方、リソースベースポリシーはリソース(例:Amazon S3バケット、AWS KMSキー、AWS Backupなど)に直接アタッチされてリソースにアクセスできるIAMと許可されるアクションを定義します。
どちらのポリシータイプも、基本ルールは暗黙的にすべてのアクションが拒否されることです。そのため、許可されるアクションを明示的に指定する必要があります。
アイデンティティベースのポリシーとリソースベースのポリシーはいずれも、アクセス許可ポリシーであり、一緒に評価されます。アクセス許可ポリシーのみが適用されるリクエストの場合、AWS はすべてのポリシーで Deny がないかチェックします。存在する場合、リクエストは拒否されます。AWS によって、それぞれの Allow がないかどうか確認されます。1 つ以上のポリシーステートメントで、リクエストのアクションが許可されている場合、そのリクエストは許可されます。Allow がアイデンティティベースのポリシーか、リソースベースのポリシーであるかは関係ありません。
アイデンティティベースポリシーとリソースベースポリシーの詳細については、以下のリンクを参照してください。
VPCエンドポイントポリシーと他のポリシーとの関係
VPCエンドポイントポリシーは、VPCエンドポイントにアタッチされ、エンドポイントを介してリソースにアクセスできるアクションと条件を制御します。
基本ルールは、明示的に許可されていないアクションがすべて拒否されることです。
そのため、許可されるアクションを明示的に指定する必要があります。
エンドポイントポリシーは、アイデンティティベースのポリシーやリソースベースのポリシーを上書き、または置き換えません。例えば、Amazon S3 に接続するためにインターフェイスエンドポイントを使用する場合、Amazon S3 バケットポリシーを使用して、特定のエンドポイントまたは特定の VPC からのバケットへのアクセスを制御することもできます。
VPCエンドポイントポリシーの詳細については、以下のリンクを参照してください。
アクセス制御にアイデンティティベースポリシー、VPCエンドポイントポリシー、リソースベースポリシー組み合わせによる許可・拒否の結果表
これらのポリシーのさまざまな組み合わせに基づく許可・拒否の結果を表にまとめました。
アクセスコントロール設計の際に参考にしていただければと思います。
No | 結果 | アイデンティティベースポリシー (暗黙的に拒否) | VPCエンドポイントポリシー (明示的に許可をしないと拒否) | リソースベースポリシー (暗黙的に拒否) |
---|---|---|---|---|
1 | 許可 | 許可 | 許可 | 許可 |
2 | 拒否 | 許可 | 許可 | 拒否 |
3 | 許可 | 許可 | 許可 | 指定なし |
4 | 拒否 | 許可 | 拒否 | 許可 |
5 | 拒否 | 許可 | 拒否 | 拒否 |
6 | 拒否 | 許可 | 拒否 | 指定なし |
7 | 拒否 | 許可 | 指定なし | 許可 |
8 | 拒否 | 許可 | 指定なし | 拒否 |
9 | 拒否 | 許可 | 指定なし | 指定なし |
10 | 拒否 | 拒否 | 許可 | 許可 |
11 | 拒否 | 拒否 | 許可 | 拒否 |
12 | 拒否 | 拒否 | 許可 | 指定なし |
13 | 拒否 | 拒否 | 拒否 | 許可 |
14 | 拒否 | 拒否 | 拒否 | 拒否 |
15 | 拒否 | 拒否 | 拒否 | 指定なし |
16 | 拒否 | 拒否 | 指定なし | 許可 |
17 | 拒否 | 拒否 | 指定なし | 拒否 |
18 | 拒否 | 拒否 | 指定なし | 指定なし |
19 | 許可 | 指定なし | 許可 | 許可 |
20 | 拒否 | 指定なし | 許可 | 拒否 |
21 | 拒否 | 指定なし | 許可 | 指定なし |
22 | 拒否 | 指定なし | 拒否 | 許可 |
23 | 拒否 | 指定なし | 拒否 | 拒否 |
24 | 拒否 | 指定なし | 拒否 | 指定なし |
25 | 拒否 | 指定なし | 指定なし | 許可 |
26 | 拒否 | 指定なし | 指定なし | 拒否 |
27 | 拒否 | 指定なし | 指定なし | 指定なし |