Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services DynamoDB未授权执行以下返回操作_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

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完全陌生。你能告诉我这是怎么设置的吗。