【发布时间】:2019-11-23 11:55:25
【问题描述】:
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:::*"
}
]
}
但AWS_documentation 给出了一个使用相同策略名称AWSLambdaExecute 的无服务器函数示例,如下所示:
Type: AWS::Serverless::Function
Properties:
Handler: index.js
Runtime: nodejs8.10
CodeUri: 's3://my-code-bucket/my-function.zip'
Description: Creates thumbnails of uploaded images
MemorySize: 1024
Timeout: 15
Policies:
- AWSLambdaExecute # Managed Policy
- Version: '2012-10-17' # Policy Document
Statement:
- Effect: Allow
Action:
- s3:GetObject
- s3:GetObjectACL
Resource: 'arn:aws:s3:::my-bucket/*'
与上述定义不符。
编辑:
下面是示例函数的执行角色...我没有看到 AWS 管理的执行角色名称(例如 AWSLambdaBasicExecutionRole)。因为我的理解是,AWSLambdaBasicExecutionRole 角色应该默认分配给 Lambda
在此示例中,我们是否覆盖了 AWSLambdaExecute 的策略定义?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-iam aws-serverless aws-sam