Amazon web services DynamoDB未授权执行以下返回操作
我有一个可以发布请求的端点Amazon web services DynamoDB未授权执行以下返回操作,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我有一个可以发布请求的端点 {“披萨”:1,“地址”:“孟加拉国”,“身份证”:2} 它返回这样的错误 {“errorMessage”:“用户:arn:aws:sts::676374644948:假定角色/pizza-api执行器/pizza-api未被授权在资源上执行:dynamodb:PutItem:arn:aws:dynamodb:us-east-2:676374644948:表/比萨订单” 我的DynamoDB IAM政策: { "Version": &quo
{“披萨”:1,“地址”:“孟加拉国”,“身份证”:2}
它返回这样的错误
{“errorMessage”:“用户:arn:aws:sts::676374644948:假定角色/pizza-api执行器/pizza-api未被授权在资源上执行:dynamodb:PutItem:arn:aws:dynamodb:us-east-2:676374644948:表/比萨订单”
我的DynamoDB IAM政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"dynamodb:Scan",
"dynamodb:DeleteItem",
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:UpdateItem"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:*:676374644948:table/*"
}
]
}
不知道如何解决此问题此演练可能有助于确保您正确设置了lambda使用的正确角色的权限。您必须创建IAM角色,并将该角色指定为lambda使用的角色。然后必须确保角色具有正确的权限 从示例中可以看出: 若要使用此策略,请替换中的斜体占位符文本 使用您自己的信息创建示例策略。然后,按照指示进行操作 在中,创建策略或编辑策略 若要使用此策略,请将该策略附加到Lambda服务角色。A. 服务角色是您在帐户中创建的角色,以允许 代表您执行操作的服务。该服务角色必须 将AWS Lambda作为委托人包含在信任策略中。详情 关于如何使用此策略,请参见AWS中的 安全博客
最后一个链接将是最有用的,因为它贯穿了整个过程,并显示了所有步骤的屏幕截图。什么是
pizzaapi
?您需要将此策略附加到比萨饼api
。(另外,您可能应该清理您的策略。)您说这是“DynamoDb的IAM策略”。我想您需要确保角色(可能是运行lambda的角色)具有允许DynamoDb操作的策略声明。很可能你找错了地方(找错了用户/角色)。@Shawn我对aws完全陌生。你能告诉我这是怎么设置的吗。