Q41 — AWS SAA-C03 第5章

第 41/65 問 | ← 第5章

Q341. ある会社が、同じAWSアカウント内にあるAmazon S3バケットへの読み取りアクセスを必要とするAWS Lambda関数を保有しています。これらの要件を、最も安全な方法で満たす解決策はどれですか?

正解: B. Lambda関数にIAMロールをアタッチし、そのロールにIAMポリシーを適用して、対象のS3バケットへの読み取りアクセスを許可する。

解説

選択肢Bが、AWS Lambda関数からAmazon S3バケットへの読み取りアクセスを提供する最も安全な解決策です。選択肢A:S3バケットポリシーを適用して読み取りアクセスを許可する方法は、必要な権限を付与できるものの、Lambda関数固有のアクセス制御ではなく、セキュリティ面ではIAMロールを用いる方法より劣ります。また、最小権限の原則にも反します。選択肢C:Lambda関数のコード内にアクセスキーとシークレットキーを埋め込む方法は、ベストプラクティスではありません。コードにアクセス可能な者全員がこれらの認証情報を利用できてしまうため、AWSリソースのセキュリティが損なわれるリスクがあります。選択肢D:Lambda関数にIAMロールをアタッチし、アカウント内のすべてのS3バケットへの読み取りアクセスを許可する方法は、Lambda関数が実際に必要とする以上の広範な権限を付与することになるため、最も安全とは言えません。これにより、意図しない他のS3バケットへのアクセスが可能になってしまう可能性があります。したがって、選択肢Bが最も安全な解決策です。これは、Lambda関数にIAMロールをアタッチすることで細粒度な権限制御を実現し、そのロールに特定のS3バケットのみへの読み取りアクセスを許可するIAMポリシーを適用するアプローチです。この方法は最小権限の原則に従い、Lambda関数が本来の処理を遂行するために必要なリソースのみにアクセスできるよう保証します。