あるセキュリティエンジニアは IAM リソースベースポリシー(Resource-Based Policy)とアイデンティティベースポリシー(Identity-Based Policy)の違いを同僚に説明しています。クロスアカウントアクセスを許可する際の評価ロジックとして正しいものはどれですか?
- A. リソースベースポリシーで他アカウントのプリンシパルを Allow すれば、要求元アカウントのアイデンティティベースポリシーは不要である
- B. クロスアカウントアクセスは必ず Organizations の SCP で明示的に許可する必要がある
- C. クロスアカウントアクセスには、要求元アカウントのアイデンティティベースポリシーと要求先リソースのリソースベースポリシーの両方で Allow が必要である
- D. クロスアカウントアクセスはアイデンティティベースポリシーだけで許可できる。リソースベースポリシーは不要である
解答と解説を見る
正解: C
クロスアカウントアクセスでは、要求元アカウント D のプリンシパル(IAM ユーザー・ロール)のアイデンティティベースポリシーに Allow が必要であり、かつ要求先アカウント C のリソースベースポリシー(S3 バケットポリシー・KMS キーポリシー等)でも Allow が必要です。両方の AND が必要です。D は誤りで、アイデンティティベースポリシーのみではクロスアカウントアクセスは許可されません。A は誤りで、リソースベースポリシーで Allow されても要求元のアイデンティティベースポリシーに Allow が必要です(同一アカウント内の場合はリソースベース Allow だけで足りますが、クロスアカウントでは両方必要)。B は SCP は Organizations の上限制御であり、クロスアカウントアクセスの許可には使いません。