DVAセキュリティ
ある分析アプリのLambda関数が、カスタマーマネージドキー(CMK)でエンベロープ暗号化されたデータを復号します。セキュリティチームは、この関数に対し『特定の暗号化コンテキストを持つデータのみ復号でき、不要になれば即座に失効でき、CMKのキーポリシー本体は変更しない』という形で権限を付与したいと考えています。最小権限と運用性を満たす方法はどれですか。
ACMKのキーポリシーにLambda実行ロールの kms:Decrypt を追加し、Conditionで kms:EncryptionContext を限定する
キーポリシー本体を編集する方式であり『キーポリシーは変更しない』という要件に反する。EncryptionContext条件で絞れても、権限の失効にはポリシーの再編集が必要で即時失効の運用性も劣る。
BKMSグラントを作成して実行ロールに kms:Decrypt を委譲し、GrantConstraintsのEncryptionContextSubsetで対象を限定する
✓ 正解
グラントはキーポリシーを変更せず権限を委譲でき、EncryptionContextSubsetで暗号化コンテキストを限定、RevokeGrant/RetireGrantで即時失効が可能。一時的・限定的・失効可能という3要件をすべて満たす唯一の方法。
C実行ロールのIAMポリシーで kms:Decrypt を許可し、kms:ViaService 条件で特定サービス経由のみに限定する
kms:ViaServiceは呼び出しを経由するサービスを限定する条件キーであり、暗号化コンテキスト単位の制御はできない。またIAMポリシー編集が必要で即時失効の運用性も要件と合致しない。
DCMKのエイリアスを復号用と暗号化用に分け、復号用エイリアスにのみ kms:Decrypt を付与してアクセスを制御する
エイリアスはCMKを指す別名にすぎず、暗号化・復号操作の権限を制御する機能を持たない。エイリアス単位でkms:Decryptを分けても暗号化コンテキストによる絞り込みや失効はできない。
解説
KMSグラントはキーポリシーやIAMポリシーを変更せずに、特定のプリンシパルへ一時的・限定的にCMKの使用権限を委譲する仕組みです。
GrantConstraintsのEncryptionContextSubset/Equalsで暗号化コンテキストによる絞り込みができ、RevokeGrant/RetireGrantで即座に失効できるため、要件をすべて満たします。
選択肢Aのキーポリシー編集は『キーポリシー本体を変更しない』要件に反し、失効も再編集が必要。
選択肢Cのkms:ViaServiceは経由サービスを制限するだけで暗号化コンテキスト単位の制御や即時失効はできない。
選択肢Dのエイリアスは単なるキーへのポインタであり、暗号化操作の権限制御には使えない。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →