Q25 — AWS SAA-C03 第10章

第 25/100 問 | ← 第10章

Q625. ある企業では、AWS Key Management Service (AWS KMS) のカスタマーマスターキー (CMK) を使用して AWS Lambda の環境変数を暗号化しています。ソリューションアーキテクトは、これらの環境変数を復号および使用するために必要な権限が適切に設定されていることを保証する必要があります。正しい権限を実装するために、ソリューションアーキテクトが実行しなければならない手順はどれですか?(該当するものを2つ選択してください。)

正解: B. Lambda 実行ロールに AWS KMS の権限を追加する, D. AWS KMS キーポリシー内で Lambda 実行ロールを許可する

解説

AWS Lambda の環境変数を AWS Key Management Service (AWS KMS) のカスタマーマスターキー (CMK) で暗号化した場合に、その復号および使用に必要な権限を正しく設定するには、以下の2つの手順が必要です: B. Lambda 実行ロールに AWS KMS の権限を追加する。 D. AWS KMS キーポリシー内で Lambda 実行ロールを許可する。 B:Lambda 実行ロールに AWS KMS の権限(例:kms:Decrypt)を付与することで、Lambda 関数が環境変数の復号に必要な AWS KMS API を呼び出せるようになります。これにより、CMK を使用した復号処理が可能になります。 D:AWS KMS キーポリシーで Lambda 実行ロールを明示的に許可することで、そのロールが当該 CMK を使用(特に復号)できるようになります。これは、KMS キーへのアクセス制御の中心的なメカニズムです。 A は不適切です:Lambda リソースポリシーは、Lambda 関数自体へのアクセス(例:Invoke 操作)を制御するものであり、関数が利用する外部リソース(この場合は AWS KMS)に対する権限を付与する目的には使用されません。 C は不適切です:Lambda には「関数ポリシー」と呼ばれる、KMS アクセスを制御するための専用ポリシーは存在しません。Lambda 関数ポリシーは、他からの関数呼び出し(Invoke)を許可・拒否するためのものであり、KMS 操作の権限管理とは無関係です。 E は不適切です:Lambda リソースポリシーは関数へのアクセス制御を担い、AWS KMS キーポリシーは CMK へのアクセス制御を担います。これらは独立したポリシーであり、互いに「許可」するという関係は成立しません。したがって、正しい選択肢は B と D です。