はじめに
前回まで、AWSのセキュリティの要となるIAMポリシーの基本や条件について解説してきました。今回は、IAMポリシーがどのように評価されるのか、その仕組みであるポリシー評価チェーンについて解説します。
ポリシー評価チェーンとは?
ポリシー評価チェーンとは、IAMがアクセスリクエストを評価する際に参照するポリシーの順序のことです。いわば、アクセス許可のチェックポイントが順番に並んでいるイメージです。アクセスリクエストが許可されるためには、このチェーンのすべてのチェックポイントを通過する必要があります。
ポリシー評価チェーンの順番
ポリシー評価チェーンは、以下の順番で評価されます。
- サービスコントロールポリシー (SCP): AWS組織全体で適用されるポリシーです。組織内のすべてのアカウントに影響を与えます。いわば、組織全体のセキュリティポリシーのようなものです
- IDベースのポリシー: ユーザーやグループに直接アタッチされたポリシーです。個々のユーザーやグループに適用される細かいアクセス制御ルールです
- パーミッションバウンダリ: ユーザーやグループにアタッチされたポリシーで、アクセス可能なリソースを制限します。ユーザーやグループがアクセスできるリソースの範囲を定めます
- セッションポリシー: ロールセッションにアタッチされたポリシーです。ロールを引き受けてアクセスする際に適用される一時的なポリシーです
- リソースベースポリシー: リソースに直接アタッチされたポリシーです。S3バケットやEC2インスタンスなど、特定のリソースへのアクセスを制御します
リソースベースポリシーと評価チェーン
リソースベースポリシーは、アカウント、ロール、セッションのいずれかに関連付けられます。
- アカウント: リソースとアクセス要求者が同じアカウントの場合、リソースベースポリシーは評価チェーンの一部となります
- ロール: アクセス要求者がロールを引き受けている場合、リソースベースポリシーは評価チェーンの一部となります
- セッション: アクセス要求者が一時的なセッションを持っている場合、リソースベースポリシーは評価チェーンの一部となります
プリンシパル要素と評価チェーン
リソースベースポリシーのプリンシパル要素は、アクセスを許可される対象を指定します。この値によって、評価チェーンを通るパスが変更されます。
例えば、プリンシパル要素の値がアカウントIDの場合、リソースベースポリシーはアカウントレベルで評価されます。
ワイルドカードと評価チェーン
リソースベースポリシーでワイルドカードを使用する場合、同じアカウント内のすべてのプリンシパルにアクセスできる可能性があるため、注意が必要です。
まとめ
ポリシー評価チェーンは、IAMポリシーがどのように評価されるのか、その仕組みを理解する上で重要な概念です。ポリシー評価チェーンを理解することで、IAMポリシーをより適切に設計し、AWSリソースへのアクセスを効果的に管理することができます。