無限ノック › SCS 練習問題一覧 › 問題
SCSデータ保護

医療機関がAmazon S3バケット(アカウントA)にPHI(患者の健康情報)を保存しており、KMSカスタマー管理キー(CMK)でSSE-KMS暗号化を適用しています。アカウントBのIAMロール(AppRole)がこれらのオブジェクトを読み取る必要があります。セキュリティエンジニアはアカウントAのS3バケットポリシーに、AppRoleに対するs3:GetObjectを許可する記述を追加しました。しかしアプリケーションは「Access Denied」エラーを受け取り続けています。この問題の最も可能性が高い原因と解決策はどれですか?

A
アカウントAのKMSキーポリシーにAppRoleへのkms:Decrypt権限を追加し、かつアカウントBのAppRoleのIAMポリシーにCMKのARNに対するkms:Decrypt権限を追加する必要がある。
✓ 正解
SSE-KMSで暗号化されたS3オブジェクトにクロスアカウントでアクセスするには、S3バケットポリシーの許可だけでは不十分です。KMSは呼び出し元の権限を独立して評価します。アカウントA側のKMSキーポリシーでAppRoleへのkms:Decrypt権限を付与すること、さらにアカウントBのIAMポリシーで同キーへのkms:Decrypt権限を付与すること——この2つが両方必要です。どちらか一方だけでは不十分です。
B
KMS CMKをAWS Resource Access Manager(RAM)でアカウントBと共有してから、アカウントBのIAMポリシーにkms:Decrypt権限を追加する必要がある。
AWS Resource Access Manager(RAM)はKMS CMKの共有をサポートしていないため、クロスアカウントKMSアクセスはキーポリシーで直接制御します。
C
S3バケットポリシーにs3:GetObjectに加えてs3:GetObjectVersionの許可が必要であり、バケットのバージョニングを有効化しなければならない。
s3:GetObjectVersionはバージョン管理されたオブジェクトの特定バージョン取得に必要なアクションであり、今回の暗号化に起因するAccess Deniedとは無関係です。
D
アカウントBでCMKのレプリカを作成し(KMSマルチリージョンキー)、レプリカキーを使ってオブジェクトを再暗号化する必要がある。
KMSマルチリージョンキーは複数リージョンでの暗号化の一貫性を目的としたものであり、クロスアカウントアクセスの解決策ではありません。既存データの再暗号化も不要です。

解説

正解: アカウントAのKMSキーポリシーにAppRoleへのkms:Decrypt権限を追加し、かつアカウントBのAppRoleのIAMポリシーにCMKのARNに対するkms:Decrypt権限を追加する必要がある。 SSE-KMSで暗号化されたS3オブジェクトにクロスアカウントでアクセスするには、S3バケットポリシーの許可だけでは不十分です。KMSは呼び出し元の権限を独立して評価します。アカウントA側のKMSキーポリシーでAppRoleへのkms:Decrypt権限を付与すること、さらにアカウントBのIAMポリシーで同キーへのkms:Decrypt権限を付与すること——この2つが両方必要です。どちらか一方だけでは不十分です。 選択肢Bは誤りです。AWS Resource Access Manager(RAM)はKMS CMKの共有をサポートしていません。クロスアカウントKMSアクセスはキーポリシーで直接制御します。 選択肢Cは誤りです。s3:GetObjectVersionはバージョン管理されたオブジェクトの特定バージョン取得に必要なアクションであり、今回の暗号化に起因するAccess Deniedとは無関係です。 選択肢Dは誤りです。KMSマルチリージョンキーは複数リージョンでの暗号化の一貫性を目的としたものであり、クロスアカウントアクセスの解決策ではありません。既存データの再暗号化も不要です。

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

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

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