SCSデータ保護
あるフィンテック企業が、クレジットカードのトークナイゼーションデータをAmazon DynamoDBに保存しています。PCI DSS準拠のため、以下の要件があります。
1. 暗号鍵の使用履歴をすべて監査証跡として記録できること
2. セキュリティインシデント発生時に即座にすべてのデータへのアクセスを無効化できること
3. 鍵ポリシーで明示的に許可されたプリンシパルのみが復号できること(AWS内部スタッフを含む不正アクセスを排除)
上記の要件をすべて満たす最も適切なDynamoDBの暗号化設定はどれですか?
ADynamoDBのデフォルト暗号化(AWS所有キー)を使用し、VPCエンドポイントでDynamoDBへのアクセスを制限する
AWS所有キーはAWSが完全管理するマルチテナントキーで、CloudTrailでの個別使用記録・鍵の無効化・キーポリシーのカスタマイズがすべて不可能。監査証跡・即時無効化・アクセス制御の3要件をいずれも満たせない最も制限の多い暗号化方式。
BDynamoDBのサーバーサイド暗号化にAWSマネージドキー(aws/dynamodb)を使用し、CloudTrailでDynamoDBのAPIアクティビティを記録する
AWSマネージドキーはCloudTrailに使用記録が残るが、キーポリシーのカスタマイズができないため許可プリンシパルの細粒度制御(要件3)が不可能。鍵の無効化もできないため即時アクセス遮断(要件2)も満たせず、3要件のうち2つが未達となる。
CDynamoDBのサーバーサイド暗号化にカスタマー管理キー(CMK)を使用し、CloudTrailでKMS API呼び出しを記録する
✓ 正解
CMKを使用したSSEは3要件をすべて充足する。KMS API呼び出しがCloudTrailに自動記録され監査証跡を提供し(要件1)、CMK無効化で即時アクセス遮断が可能で(要件2)、キーポリシーで許可プリンシパルを細粒度制御しAWS内部スタッフも排除可能(要件3)。
DデータをDynamoDBに保存する前にアプリケーション側でAES-256で暗号化し、暗号化キーをAWS Systems Manager Parameter Store(SecureString)に保存する
アプリケーション側暗号化はDynamoDBのネイティブKMS統合を使わないためKMS API呼び出しの監査証跡が得られない(要件1)。Parameter StoreのSecureStringはCMKと同等のキーポリシー制御を持たず、即時無効化・アクセス制御の要件2・3も満たせない。
解説
DynamoDBのカスタマー管理キー(CMK)を使用したSSEは、3つの要件をすべて満たします。
①監査証跡:DynamoDBがデータを復号するたびにKMS APIが呼び出され、そのすべてがCloudTrailに自動記録されます。誰が・いつ・どのキーを使用したかを詳細に追跡できます。
②即時無効化:CMKを無効化(Disable)または削除スケジュール状態にすることで、DynamoDBがKMSを通じてデータを復号することが即時不可能になります。
③アクセス制御:CMKのキーポリシーで許可されたIAMプリンシパルのみが復号可能です。AWSマネージドキーや所有キーとは異なり、キーポリシーで明示的かつ細粒度な制御が可能です。
選択肢AのAWS所有キーはAWSが完全に管理するマルチテナントキーで、監査証跡の個別取得・鍵の無効化・アクセス制御のカスタマイズがすべて不可能です。
選択肢BのAWSマネージドキー(aws/dynamodb)はCloudTrailに記録されますが、キーポリシーのカスタマイズや鍵の無効化ができず、要件2・3を満たせません。
選択肢DのParameter Store(SecureString)への鍵保存はDynamoDBの自動監査機能と連携できず、KMS CMKほどの詳細な監査証跡・アクセス制御機能を持ちません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →