AWS Organizationsのall featuresとSCPを有効にし、対象OUにメンバーアカウントを配置している。組織階層の既存Allowと、利用者の必要なIAM許可は維持する。検証する操作を妨げる他のDenyはない。
対象はメンバーアカウントの一般IAMユーザー・ロールによるリージョナルAPI呼び出しである。東京ap-northeast-1と大阪ap-northeast-3以外のエンドポイントへの呼び出しを禁止したい。
必要なIAMなどのグローバルサービス操作は継続する。これはAPI呼び出し先の制限であり、データの保存先やレプリケーション先を完全に保証する要件ではない。
アカウント管理者のAllowでも解除できない制御として、適切な設計はどれか。
対象OUへのSCPの明示的DenyでリージョナルAPIの呼び出し先を制限し、必要なグローバルサービスを例外として扱う。SCP自体は権限を付与せず、管理アカウントやサービスリンクロールには適用されない。
詳細解説
SCPは管理アカウントのユーザー・ロールやサービスリンクロールを制限しない。メンバーアカウントの一般IAM主体という対象範囲を区別する。
IDベースポリシーのAllowを追加しても、別ポリシーのAllowを上限として絞り込まない。ロールも含む対象OUの組織的な制限にならない。
メンバーアカウントに適用する明示的Denyは、アカウント内のIAM Allowより優先する。グローバルサービス例外はこのDenyから外すだけで、別途の権限付与は必要である。
IAMなど単一のグローバルエンドポイントを使うサービスもリージョン条件に影響される。必要なグローバル操作を残す要件には例外の検討が必要である。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
公式資料とOU・アカウントの所属、祖先を含むSCP、aws:RequestedRegionの条件、グローバルサービスの例外を照合する。承認済みの検証用OUで、同じメンバーロールによる許可リージョンと対象外リージョンのAPI評価を比較し、必要なIAM操作も確認する。
参考にした公式資料
確認できる内容
IAMで許可済みの対象APIは東京・大阪で実行可能、対象外リージョンではSCPの明示的Denyで拒否される。必要なグローバル操作は既存許可の範囲で継続できる。この結果を全アカウントへの適用や完全なデータ所在地保証とは解釈しない。
理解のポイント
- aws:RequestedRegion
- NotAction
- 明示的Deny
確認時の注意
- 確認環境: 公式Organizations・IAM資料の確認。必要に応じ承認済みの検証用OUで評価する。
- AWS公式SAA-C03 Domain 1と各サービスの公式ドキュメントを確認する。
基礎のおさらい
SCPの対象と権限付与を区別する
SCP(サービスコントロールポリシー)はメンバーアカウントのIAM主体の権限上限を制限し、必要な権限を単独で付与しない。管理アカウントとサービスリンクロールは対象外である。対象OUへの関連付けだけでなく、祖先からのSCPも確認する。
呼び出すリージョンと操作の影響を区別する
aws:RequestedRegionが比較するのは呼び出し先エンドポイントのリージョンである。IAMなどの必要なグローバルサービスをDenyから外しても、例外自体がAllowになるわけではない。S3レプリケーション等のクロスリージョンの影響まで、この条件だけで制御できるとは限らない。
Allowの追加とDenyによる制限を比較する
個別IAMポリシーへ狭いAllowを追加しても、既存の広いAllowの上限にはならない。対象外の呼び出しをSCPで明示的にDenyし、検証用OUで許可側・拒否側・必要なグローバル操作を比較してから適用範囲を広げる。