DVA-C02セキュリティHARD単一選択

ある企業のアプリケーションは AWS KMS で暗号化された S3 オブジェクトを読み込む Lambda 関数を持っています。Lambda の実行ロールには s3:GetObject 権限があるにもかかわらず、「Access Denied」エラーが発生しています。原因として最も可能性が高いものはどれですか?

  1. A. Lambda のタイムアウト設定が短く、KMS 呼び出しがタイムアウトしている
  2. B. S3 バケットが別リージョンにあるためクロスリージョンアクセスが拒否されている
  3. C. Lambda 関数のメモリが不足してデータを復号できない
  4. D. Lambda の実行ロールに kms:Decrypt 権限がないか、KMS キーポリシーで Lambda の実行ロールが許可されていない
解答と解説を見る

正解: D

SSE-KMS で暗号化された S3 オブジェクトを取得する際、S3 は自動的に KMS を呼び出してデータキーを復号します。この操作には Lambda 実行ロールに kms:Decrypt 権限が必要です。さらに KMS キーポリシー(リソースベースのポリシー)でも Lambda の実行ロール ARN が明示的に許可されていなければなりません。IAM ポリシー+キーポリシーの両方が必要です。C のメモリ不足は Access Denied ではなく Out of Memory エラーになります。B のクロスリージョン自体は Access Denied の直接原因にはならず別エラーメッセージになります。A のタイムアウトは Task timed out エラーになります。

▸ この試験を本気で演習する(全150問・無料)