Q94 — AWS SAA-C03 第4章
第 94/105 問 | ← 第4章
Q289. 開発者は、AWS Lambda関数を使用してファイルをAmazon S3にアップロードするアプリケーションを持っています。このタスクを実行するために必要な権限を付与する必要があります。開発者は既に、Amazon S3に対して有効なIAM資格情報を含むIAMユーザーを保有しています。ソリューションズアーキテクトは、この権限を付与するために何を行うべきでしょうか?
- A. Lambda関数のリソースポリシーに必要なIAM権限を追加する。
- B. Lambda関数内で既存のIAM資格情報を使用して署名付きリクエストを作成する。
- C. 新しいIAMユーザーを作成し、Lambda関数内で既存のIAM資格情報を使用する。
- D. 必要な権限を持つIAM実行ロールを作成し、そのIAMロールをLambda関数にアタッチする。 ✓
正解: D. 必要な権限を持つIAM実行ロールを作成し、そのIAMロールをLambda関数にアタッチする。
解説
Lambda関数がAWSサービス(例:Amazon S3)にアクセスするには、IAM実行ロール(execution role)を関数にアタッチする必要があります。このロールは、Lambdaサービスが一時的なセキュリティ資格情報を提供し、関数が他のAWSサービスと安全にやり取りできるようにします。リソースポリシー(A)は、Lambda関数自体へのアクセス制御(例:他のサービスからの呼び出し許可)に使われ、S3へのアクセス権限の付与には不適切です。署名付きリクエスト(B)は、直接API呼び出しで使用される手法であり、Lambda関数内でのS3アクセスには推奨されません(セキュリティリスク・管理負荷の増大)。既存のIAMユーザー資格情報(C)をLambda関数内でハードコードまたは環境変数経由で使用するのは、セキュリティ上の重大なリスクであり、ベストプラクティスに反します。したがって、正解はDです。