【问题标题】:Lambda and DynamoDB: is not authorized to perform: dynamodb:UpdateItem. User has administrator accessLambda 和 DynamoDB:无权执行:dynamodb:UpdateItem。用户具有管理员权限
【发布时间】:2020-08-17 02:00:03
【问题描述】:

用户具有管理员访问权限。我能够从 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}

谢谢。

【问题讨论】:

  • 操作列表中缺少 - dynamodb:UpdateItem
  • 好的,知道了。谢谢你。我正在阅读 putitem 作为 put 请求。

标签: amazon-web-services aws-lambda amazon-dynamodb serverless-framework serverless


【解决方案1】:

您缺少iamRoleStatements 中的dynamodb:UpddateItem 操作。应该读:

iamRoleStatements:
    - Effect: Allow
      Action:
        - dynamodb:Query
        - dynamodb:Scan
        - dynamodb:GetItem
        - dynamodb:PutItem
        - dynamodb:UpdateItem   # <--- ADD THIS LINE 
      Resource: "*"

【讨论】:

    猜你喜欢
    • 2016-03-17
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2015-08-19
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多