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: "*"