Q16 — AWS DVA-C02 第1章
第 16/100 問 | ← 第1章
開発者のコードはAmazon S3バケットに格納されています。このコードは、同じAWSリージョン内の別のアカウントでAWS Lambda関数としてデプロイされます。各アカウントは、Lambda関数をデプロイするAWS CloudFormationテンプレートを実行します。CloudFormationがS3バケット内のLambdaコードにアクセスできるようにする最も安全な方法は何ですか?
- A. CloudFormationサービスロールにS3 ListBucketおよびGetObject権限を付与する。Amazon S3バケットポリシーに、主体として「AWS」を指定し、許可対象のアカウント番号を含める。 ✓
- B. CloudFormationサービスロールにS3 GetObject権限を付与する。Amazon S3バケットポリシーに、主体として「*」を指定する。
- C. サービスリンクを使用し、リソース内に明示的にS3バケットのアカウント番号を追加することで、Lambda関数にS3 ListBucketおよびGetObject権限を付与する。
- D. サービスリンクを使用し、Lambda関数にS3 GetObject権限を付与する。リソースを「*」として指定し、S3バケットへのアクセスを許可する。
正解: A. CloudFormationサービスロールにS3 ListBucketおよびGetObject権限を付与する。Amazon S3バケットポリシーに、主体として「AWS」を指定し、許可対象のアカウント番号を含める。
解説
選択肢Aの方法が最も安全です。この方法では、S3バケットへのアクセスをCloudFormationサービスロールに限定し、ListBucketおよびGetObject権限のみを付与します。さらに、Amazon S3バケットポリシーで主体を「AWS」とし、アクセスを許可する特定のアカウント番号を明示的に指定することで、そのアカウントのみがバケットにアクセスできるようになります。他の選択肢では、「*」ワイルドカードを使用してすべての主体を許可するなど、セキュリティリスクが存在します。 【灯笼考证提供:swufelp1999】