前言:我不是在寻求配置帮助。我的用例已经涵盖并且运行良好。这是一个理论问题。
在 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?(我的特定 lambda 调用与 S3 无关。)除了每个策略的一行描述之外,我们是否知道有关预定义策略的任何详细文档?
答案1
如果您的功能与 S3 无关,则不要使用此托管策略。据我所知,此策略在文档中与有关如何将 Lambda 与 Amazon S3 结合使用的教程结合使用。
来源: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": "*"
}
]
}