AWS DynamoDB问题:用户无权在资源上执行:dynamodb:PutItem

我试图从部署在AWS ElasticBeanStalk上的Node应用程序访问DynamoDB。 我收到一个错误“用户无权执行:dynamodb:PutItem资源”

它在本地完美地工作,只有当我部署到AWS停止执行。

任何人都知道修复? 提前致谢!

被拒绝的dynamoDB访问通常是一个策略问题。 检查您正在使用的IAM /angular色策略。 快速检查是添加

AmazonDynamoDBFullAccess 

通过转到AWS控制台中的“权限”选项卡,确保您的angular色中的策略。 如果它在那之后起作用,那么这意味着您需要创build一个正确的访问策略并将其附加到您的angular色中。

检查您用于在AWS上的Node应用程序中连接到DynamoDB的访问密钥。 该访问密钥将属于在IAM中没有必要权限的用户。 因此,findIAM用户,创build或更新一个适当的政策,你应该是好的。

对于Beanstalk,您需要在发布时设置用户策略。 查看这里的官方文档 。

从这里也可以看看这个例子 ,由@Tirath Shah提供。