無限ノック › SOA 練習問題一覧 › 問題
SOAセキュリティとコンプライアンス

アカウント A の Amazon S3 バケットは、カスタマーマネージドキー(CMK)を用いた SSE-KMS で暗号化されています。別組織が管理するアカウント B の IAM ロールが、このバケット内のオブジェクトを読み取れるようにする必要があります。バケットポリシーで s3:GetObject はすでに許可済みですが、アカウント B からの取得は AccessDenied となります。この問題を解決する最小構成の設定はどれですか。

A
アカウント A の CMK のキーポリシーでアカウント B のロールに kms:Decrypt を許可し、アカウント B 側でも当該ロールの IAM ポリシーで kms:Decrypt を許可する
✓ 正解
KMS のクロスアカウント復号はキー所有側のキーポリシーと利用側の IAM ポリシーの両方で kms:Decrypt を許可する必要があり、両側を設定する本選択肢が SSE-KMS オブジェクトの読み取りを成立させる最小構成となる。
B
アカウント B のロールの IAM ポリシーで kms:Decrypt を許可すれば、アカウント A のキーポリシーを変更せずにクロスアカウントで復号できるようになる
アカウント B の IAM ポリシーのみでは、キーポリシーがアカウント外プリンシパルへのアクセスを許可していない限り復号できず、片側だけの許可では AccessDenied が解消しないため誤り。
C
アカウント A の CMK で自動キーローテーションを有効化したうえで、ローテーション後の新しいキー ID をアカウント B のロールに共有して指定させる
自動キーローテーションは同一 CMK のバッキングキーを定期更新する機能でキー ID も権限も変わらず、クロスアカウントのアクセス許可付与とは無関係で AccessDenied は解決しない。
D
アカウント A の CMK をマルチリージョンキーに変換し、アカウント B が使用するリージョンにレプリカキーを作成して両者で共有する
マルチリージョンキーは同一キーマテリアルを複数リージョンで利用するための機能であり、別アカウントのプリンシパルへ復号権限を付与する目的には対応しないため要件を満たさない。

解説

KMS のクロスアカウントアクセスは「両側」の許可が必要です。まずキーを所有するアカウント A の CMK キーポリシーで、アカウント B のプリンシパル(ロール)に kms:Decrypt を明示的に許可します。次にアカウント B 側でも、そのロールの IAM ポリシーで対象 CMK に対する kms:Decrypt を許可します。両方が揃って初めて復号が成立し、SSE-KMS 暗号化オブジェクトを読み取れるようになります。S3 のバケットポリシーだけでなく、暗号化キーへのアクセス許可が別途必要な点がポイントです。 選択肢Bのアカウント B の IAM ポリシーのみでは、キー所有アカウントのキーポリシーがアカウント外のプリンシパルを許可していない限りアクセスできず、片側だけの許可では AccessDenied が解消しない。 選択肢Cの自動キーローテーションは同一 CMK 内でバッキングキーを更新する機能で、キー ID は不変であり、クロスアカウントのアクセス許可とは無関係。 選択肢Dのマルチリージョンキーは同一キーマテリアルを複数リージョンで使うための機能で、クロスアカウントの復号権限付与を解決するものではない。

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

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

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