助け合いフォーラム

AWS

AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 43461
問題を開く
ある金融機関は、顧客に取引アラートを送信するためのアプリケーションをAWS上で開発している。このアプリケーションではLambda関数を利用して、取引情報を含むメッセージをSNSトピックへ発行する予定である。取引情報には顧客の機密性が高い財務情報が含まれているため、セキュリティ要件としてSNSトピックはAWS KMS(Key Management Service)のカスタマーマネージドキーを使...

この問題はプレミアムコンテンツです。

上に戻る

SNSで暗号化するのになぜlambdaのIAMロールになぜKMSの設定がいるのか

投稿日 2026/04/25

lambda→SNS→KMS
SNSがデータを暗号化するため、SNSがKMSを呼び出す

正解の選択肢にはlambdaの実行ロールにKMSの許可設定がある
KMSを使うのはSNSのためなぜlambdaにこれが必要なのか

Lambda実行ロールに、SNSトピックへのメッセージ発行と_KMSカスタマーマネージドキー利用を許可する権限を付与する_

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カスタマーマネージドキーの利用を許可する権限が必要です。


コメント

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?