ある大企業では、チームA・チームB・チームCの開発者が1つの共有AWSアカウントを使用しています。以下の要件があります。 ・各チームのメンバーは自チームのリソース(EC2インスタンス、S3バケット等)のみ操作できる ・リソース作成時に作成者の所属チームを示すタグが自動付与される ・チームの追加・変更のたびにIAMポリシーを修正したくない ・スケーラブルで管理コストの低い実装にしたい 最も適切なアクセス制御の実装方法はどれですか?
ABAC(Attribute-Based Access Control)では、IAMエンティティとリソース双方の属性(タグ)を照合してアクセスを制御します。aws:PrincipalTag/Team で呼び出し元のチームタグを、aws:ResourceTag/Team でリソースのチームタグを参照し、両者が一致する場合のみ許可します。新チーム追加時はタグ付与のみで対応可能なため、ポリシー変更が不要です。 選択肢AのIAMグループとARN明示では、リソースが増えるたびにポリシーの更新が必要となりスケールしません。 選択肢CのSCPは組織全体へのガードレール設定が目的であり、同一アカウント内の細粒度なリソースタグベース制御には適していません。 選択肢DのAmazon Cognitoはエンドユーザー認証・認可が主用途であり、社内開発者のAWSコンソール操作の制御に用いるのは一般的ではありません。