Lambda和DynamoDB:无权执行:dynamodb:Scan

时间:2017-03-04 23:55:36

标签: amazon-web-services amazon-dynamodb aws-lambda amazon-iam

在我将API部署到lambda之后,我已经使用无服务器创建了我的API,并且我尝试通过"测试"来测试端点。在GatewayAPI中的按钮,我收到错误:

  

"用户:arn:aws:sts :: 245912153055:assume-role / pets-service-dev-us-east-1-lambdaRole / pets-service-dev-listPets无权执行:dynamodb :扫描资源:arn:aws:dynamodb:us-east-1:245912153055:table / Pets"

我可能需要向Lambda提供许可,但我有点迷失......

2 个答案:

答案 0 :(得分:6)

如前所述,您需要为无服务器定义添加权限。

关于这个主题的文档相当广泛: serverless IAM guide

在您的情况下,您可能只需要向serverless.yml添加类似以下权限的内容。

provider:
  iamRoleStatements:
    -  Effect: "Allow"
       Action:
         - "dynamodb:Scan"
       Resource: "arn:aws:dynamodb:us-east-1:245912153055:table/Pets"

答案 1 :(得分:0)

我参加聚会有点晚了,但是它仍然可以帮助人们知道目前(2019年3月)在创建lambda时使用nodejs vs 8.10似乎存在问题。添加所有必要的权限仍然会导致上述错误。一个简单的解决方法是暂时使用较低的nodejs版本。希望问题尽快得到解决