【发布时间】:2020-11-14 23:32:45
【问题描述】:
我正在尝试使用 AWS SAM 构建基于 AWS lambda 的应用程序。在部署时,我注意到为 lambda 创建的 IAM 策略之一具有错误的 ARN。如下所示(格式错误):
{
"Statement": [
{
"Action": [
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:BatchWriteItem"
],
"Resource": [
"arn:aws:dynamodb:ap-south-1:286214033472:table/arn:aws:dynamodb:ap-south-1:286214033472:table/damoLambda-DynamoDBTable-11I5VYQXQKPHH",
"arn:aws:dynamodb:ap-south-1:286214033472:table/arn:aws:dynamodb:ap-south-1:286214033472:table/damoLambda-DynamoDBTable-11I5VYQXQKPHH/index/*"
],
"Effect": "Allow"
}
]
}
DynamoDB 表本身由 SAM 模板创建,并在 lambda 策略部分中引用,如下所示:
TestFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: FileExtractorFunction
Handler: helloworld.App::handleRequest
Runtime: java8
MemorySize: 512
Policies:
- CloudWatchPutMetricPolicy: {}
- S3ReadPolicy:
BucketName: !Ref S3BucketName
- DynamoDBWritePolicy:
TableName: !GetAtt DynamoDBTable.Arn
Environment:
Variables:
DynamoDB_Table_Name: !Ref DynamoDBTable
........................................
........................................
........................................
DynamoDBTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
- AttributeName: id
AttributeType: S
KeySchema:
- AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
除了政策部分,一切都按预期工作。
对于策略部分,我不确定这是 AWS 错误还是我做错了什么。
【问题讨论】:
-
为什么它的格式不正确?因为它没有
Version?不清楚你指的是什么问题。 -
@Marcin 你不同意我的回答吗?
-
嗨。我在您发布答案之前发表了评论。
标签: amazon-web-services aws-lambda amazon-iam aws-sam