無限ノック › SAA 練習問題一覧 › 問題
SAAセキュアなアーキテクチャの設計

ある企業はマルチアカウント環境を運用しています。アカウントA(データ保管用)のS3バケットは、アカウントAが所有するKMSカスタマーマネージドキー(CMK)で暗号化されています。アカウントB(分析用)のLambda関数が、このS3オブジェクトを読み取って復号する必要があります。最小権限の原則に従い、確実に復号を許可できる構成はどれですか。

A
アカウントAのCMKのキーポリシーでアカウントBのLambda実行ロールにkms:Decryptを許可し、アカウントB側でも同ロールのIAMポリシーにkms:Decryptを付与する
✓ 正解
KMSのクロスアカウント復号にはキーポリシーでアカウントBのプリンシパルを許可し、かつB側IAMポリシーでもkms:Decryptを付与する両面の設定が必須です。対象ロールにkms:Decryptのみを与えることで最小権限も満たします。
B
アカウントB側のLambda実行ロールのIAMポリシーにkms:Decryptを付与すれば、アカウントAのキーポリシーを変更しなくても復号できる
キーポリシーはKMSにおける権限の最終的な判断根拠であり、アカウントAのキーポリシーで許可がない限り、B側のIAMポリシーだけでは復号は拒否されます。設定が片面のみで不十分です。
C
アカウントAのCMKをAWS RAMでアカウントBに共有し、IAMポリシーの設定なしにLambda実行ロールへ自動的に復号権限を付与する
AWS RAMが共有できるリソースにKMS CMKは含まれません。RAM経由でキーを共有して自動的に権限を付与するという仕組みは存在せず、この方法では復号権限を与えられません。
D
アカウントAのキーポリシーでアカウントBのルートユーザーにkms:*を許可し、アカウントB側のIAMポリシーは設定しない
キーポリシーでルートユーザーにkms:*を許可するのは過剰権限で最小権限に反します。さらにアカウントBのIAMポリシー設定を省略しているため、実行ロールには権限が伝播せず復号できません。

解説

KMSのクロスアカウントアクセスでは、キーを所有するアカウントAのキーポリシーで対象プリンシパル(アカウントBの実行ロール)を明示的に許可し、かつアカウントB側のIAMポリシーでもkms:Decryptを付与する必要があります。両方が揃って初めて復号が可能になり、特定ロールにkms:Decryptのみを与えることで最小権限を実現できます。 選択肢BのIAMポリシーのみの構成は、キーポリシーがKMSの最終的な権限判断を担うため、キーポリシーでの許可がないと復号できません。 選択肢CのAWS RAMはKMSキーの共有に対応しておらず、この方法では権限を付与できません。 選択肢Dのルートユーザーへkms:*を許可する方式は過剰権限で最小権限に反し、ロール側のIAMポリシー設定も省略しているため復号できません。

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

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

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