無限ノック › SCS 練習問題一覧 › 問題
SCSアイデンティティとアクセス管理

本番アカウント(Account A)の S3 バケットに機密データが保存されている。開発アカウント(Account B)の Lambda 関数が、Account B 内の特定の VPC エンドポイント経由でのみこの S3 バケットからデータを取得できるようにしたい。セキュリティチームは「指定VPCエンドポイント以外の全経路を拒否」を必須要件とし、最小権限で実装することを求めている。正しい構成はどれか。

A
Account A の S3 バケットポリシーで Principal に Account B の Lambda 実行ロール ARN を指定し、条件キー aws:SourceVpce でVPCエンドポイント ID を限定する Allow と、条件不一致の全アクセスを Deny するステートメントをそれぞれ設定する
✓ 正解
バケットポリシーで aws:SourceVpce 条件と明示的 Deny を組み合わせることで、指定VPCエンドポイント経由以外の全アクセスを遮断しつつ最小権限でクロスアカウントアクセスを実現できる。
B
Account A の S3 バケットポリシーで Principal に Account B の Lambda 実行ロール ARN を指定し、条件キー aws:VpcSourceIp でAccount B のVPC CIDR を設定する Allow と、条件不一致の全アクセスを Deny するステートメントをそれぞれ設定する
aws:VpcSourceIp はVPC内のプライベートIPアドレスを評価する条件キーであり、VPCエンドポイント経由であることを保証しないため、エンドポイント限定制御の要件を満たさない。
C
Organizations の SCP を Account A に適用して s3:GetObject に aws:SourceVpce 条件でVPCエンドポイント以外からのアクセスを Deny しつつ、Account B の Lambda 実行ロールには Account A の S3 バケット ARN を含む読み取りポリシーをアタッチする
SCP はメンバーアカウント内のIAMプリンシパルへの制限に使えるが、外部アカウントからのリソースアクセスへの許可付与はできず、クロスアカウントS3アクセスにはバケットポリシーが必要。
D
Organizations の SCP を Account A に適用して aws:PrincipalAccount 条件で Account B 以外の s3:GetObject を Deny しつつ、Account B の Lambda 実行ロールには Account A の S3 バケット ARN を含む読み取りポリシーをアタッチする
SCP は外部アカウントからのアクセスを制御する仕組みではなく、Account A に適用した SCP は Account A 内プリンシパルに作用し、Account B の Lambda からのアクセス制御には機能しない。

解説

クロスアカウントの S3 アクセスはリソースベースポリシー(バケットポリシー)で制御する。aws:SourceVpce 条件でVPCエンドポイント ID を限定し、明示的 Deny ステートメントと組み合わせることでエンドポイント以外の全経路を確実に遮断できる。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る