助け合いフォーラム
AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 43461
問題を開く
ある金融機関は、顧客に取引アラートを送信するためのアプリケーションをAWS上で開発している。このアプリケーションではLambda関数を利用して、取引情報を含むメッセージをSNSトピックへ発行する予定である。取引情報には顧客の機密性が高い財務情報が含まれているため、セキュリティ要件としてSNSトピックはAWS KMS(Key Management Service)のカスタマーマネージドキーを使...
この問題はプレミアムコンテンツです。
SNSで暗号化するのになぜlambdaのIAMロールになぜKMSの設定がいるのか
m
maeta
投稿日 2026/04/25
lambda→SNS→KMS
SNSがデータを暗号化するため、SNSがKMSを呼び出す
正解の選択肢にはlambdaの実行ロールにKMSの許可設定がある
KMSを使うのはSNSのためなぜlambdaにこれが必要なのか
Lambda実行ロールに、SNSトピックへのメッセージ発行と_KMSカスタマーマネージドキー利用を許可する権限を付与する_
b
birdpixy
2026/04/27 13:37
SNSの暗号化はSNSが実行しますが、KMSの認可は「リクエストの主体(Lambda実行ロール)」も含めて評価されるため、Lambda側にもKMS権限が必要です。
SNSのサーバーサイド暗号化(SSE)では、メッセージがトピックに到達した時点で暗号化されます。
この暗号化処理の流れは以下のようになっています。
1.Lambda関数がSNSにパブリッシュする
2.SNSがメッセージを受け取る
3.SNSがKMSに対してデータキー生成を要求
4.データキーでメッセージを暗号化して保存する
3でKMSを呼び出すのはSNSですが、その呼び出しが許可されるかどうかは、SNSプリンシパルおよびパブリッシュを行ったプリンシパル(=Lambda実行ロール)の両方の権限に基づいて判定されます。そのため、Lambda実行ロールにKMSカスタマーマネージドキーの利用を許可する権限が必要です。
コメント
この投稿に対して返信しませんか?