序文:構成のヘルプは求めていません。私のユースケースはカバーされており、正常に動作しています。これは理論的な質問です。
AWSには、AWSLambdaExecute
というポリシーがあり、次のように定義されています。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [ "logs:*" ],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [ "s3:GetObject", "s3:PutObject" ],
"Resource": "arn:aws:s3:::*"
}
]
}
この定義は私に言います:
これの背後にある理由は何ですか?なぜ彼らはS3について話しているのですか? (私の特定のラムダ呼び出しはS3とは何の関係もありません。)それぞれのワンライナーの説明以外に、事前定義されたポリシーに関する詳細なドキュメントについて知っていますか?
関数がS3と関係がない場合は、このマネージドポリシーを使用しないでください。私の知る限り、このポリシーはドキュメントでAmazon S3でLambdaを使用する方法に関するチュートリアルと組み合わせて使用されています。
ソース: https://docs.aws.Amazon.com/lambda/latest/dg/with-s3-example-create-iam-role.html
マネージドポリシーを使用する場合は、最小限のものしか含まれていないように見えるAWSLambdaBasicExecutionRole
を使用することをお勧めします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}