ある大企業では、100名以上の開発者が複数のプロジェクトチーム(Alphaチーム、Betaチーム等)に分かれてAWSリソースを管理しています。 ・各開発者は自分のチームのEC2インスタンスのみ起動・停止・再起動できる ・新しいプロジェクトが追加された場合、IAMポリシーの変更なしに対応したい ・各EC2インスタンスには「Project」タグが付与されている ・最小権限の原則を維持しつつ管理コストを抑えたい この要件を満たすIAMポリシー設計として最も適切なものはどれですか?
ABAC(Attribute-Based Access Control:属性ベースのアクセス制御)は、IAMプリンシパルのタグとリソースのタグを照合してアクセスを制御する手法。IAMユーザー・ロールに「Project=Alpha」等のタグを付与し、条件で`aws:PrincipalTag/Project`と`aws:ResourceTag/Project`が一致する場合のみ操作を許可することで、新プロジェクト追加時もタグ付与のみで対応可能。ポリシー変更が不要でスケールする。 選択肢AのIAMグループ+インラインポリシーはプロジェクト追加のたびにポリシー変更が必要で、スケールしない。 選択肢Bのaws:RequestedRegionはリージョン制限に使う条件キーであり、プロジェクト別アクセス制御の主軸としては不適切で、要件を正しく満たせない。 選択肢DのRAMは異なるAWSアカウント間でのリソース共有を目的としており、同一アカウント内のチーム別アクセス制御には適していない。