Q21 — AWS SCS-C02 第1章

第 21/100 問 | ← 第1章

ある企業は、AWS Lambda関数を使用する新しいサーバーレスアプリケーションを開発しています。同社はAWS CloudFormationを使用してLambda関数をデプロイしています。開発者は、デプロイ済みのLambda関数のデバッグを試みており、Amazon CloudWatch Logsにその出力をログ出力していないためデバッグできません。 この問題を解決するために、セキュリティエンジニアが実行すべき手順の組み合わせはどれですか?(2つ選択)

正解: A. CloudFormationテンプレートで定義され、Lambda関数に渡されるロールを確認します。そのロールが、サービスプリンシパルlambda.amazonaws.comによるsts:AssumeRoleアクションを許可する信頼ポリシーを持っていることを確認します。, B. CloudFormationテンプレートでLambda関数に設定された実行ロールを確認します。実行ロールがCloudWatch Logsへの書き込みに必要な権限を持っていることを確認します。

解説

AWS Lambda関数は、Amazon CloudWatch Logsにログを書き込むために適切な権限を持つ実行ロールが必要です。AWSドキュメントによると、Lambda実行ロールはlogs:CreateLogGroup、logs:CreateLogStream、およびlogs:PutLogEventsの権限を含む必要があります。さらに、ロールの信頼ポリシーはLambdaサービス(lambda.amazonaws.com)がそのロールを引き受けることを許可する必要があります。オプションAは、Lambdaサービスが実行ロールを引き受けることを可能にする信頼ポリシーを保証し、オプションBは実行ロールがCloudWatch Logsへの書き込みに必要な権限を持つことを保証します。他のオプションでは、X-Ray構成(C)およびリソースポリシー(D)はログ書き込み権限とは無関係であり、開発者のロール権限(E)はLambda自体の実行権限には影響しません。