ある企業(アカウントA)は、機密性の高い顧客データをAmazon S3に保存し、AWS KMSのカスタマーマネージドキー(CMK)で暗号化しています。別の事業部門(アカウントB)のデータアナリストがこのS3データを分析する必要が生じ、アカウントAの管理者はS3バケットポリシーにアカウントBのIAMロールを追加しました。しかしアナリストがS3オブジェクトにアクセスすると「Access Denied」エラーが発生します。この問題を解決するために必要な追加手順はどれですか?
KMS暗号化されたS3オブジェクトにクロスアカウントでアクセスするには、S3バケットポリシーとKMSキーポリシーの両方でアクセスを許可する必要があります。バケットポリシーだけを更新しても、CMKへの復号権限がなければオブジェクトの復号に失敗し「Access Denied」となります。 選択肢Aは、クロスアカウントIAMロールを作成してもKMSキーポリシーが更新されないため問題は解決しません。 選択肢Bが正解です。KMSキーポリシーにアカウントBのIAMロールへのDecrypt権限を追加することで、バケットポリシーと組み合わせて復号が可能になります。 選択肢Cは、SSE-S3に変更すればKMSの制約は回避できますが、CMKによるセキュリティ制御(誰が復号できるかの管理)を失うことになり要件上不適切です。 選択肢Dは、AWS RAMはVPCサブネットやRoute 53 Resolverルールなどの共有に使うサービスであり、S3バケットの直接共有機能は提供していません。