Lambda 和 DynamoDB:无权执行:dynamodb:UpdateItem。用户具有管理员权限
Lambda and DynamoDB: is not authorized to perform: dynamodb:UpdateItem. User has administrator access
用户拥有 AdminitratorAccess。我能够从 dynamoDB 创建和读取数据。
我正在使用无服务器工具并使用 aws-go-mod
模板。
这是serverless.yml
service: user-services-go
frameworkVersion: ">=1.28.0 <2.0.0"
provider:
name: aws
runtime: go1.x
stage: dev
region: us-east-1
environment:
DYNAMODB_USER_TABLE: ${self:custom.dynamodb.userTable}
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
Resource: "*"
functions:
updateUser:
handler: bin/pkg/updateUser
events:
- http:
method: put
cors: true
path: /v1/user/{username}
谢谢。
您缺少 iamRoleStatements
中的 dynamodb:UpddateItem
操作。应阅读:
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem # <--- ADD THIS LINE
Resource: "*"
用户拥有 AdminitratorAccess。我能够从 dynamoDB 创建和读取数据。
我正在使用无服务器工具并使用 aws-go-mod
模板。
这是serverless.yml
service: user-services-go
frameworkVersion: ">=1.28.0 <2.0.0"
provider:
name: aws
runtime: go1.x
stage: dev
region: us-east-1
environment:
DYNAMODB_USER_TABLE: ${self:custom.dynamodb.userTable}
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
Resource: "*"
functions:
updateUser:
handler: bin/pkg/updateUser
events:
- http:
method: put
cors: true
path: /v1/user/{username}
谢谢。
您缺少 iamRoleStatements
中的 dynamodb:UpddateItem
操作。应阅读:
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem # <--- ADD THIS LINE
Resource: "*"