Dynamodb 无权执行 dynamodb:PutItem

Dynamodb is not authorised to perform dynamodb:PutItem

我在 dynamodb 上执行 PutItem 时遇到此错误

AccessDeniedException: User: arn:aws:sts::8**************2:assumed-role/AmazonSSMRoleForInstancesQuickSetup/i-0**************2 is not authorized to perform: dynamodb:PutItem on resource: arn:aws:dynamodb:us-east-2:8**************2:table/test-dynamodb-table

这就是我的 permissions.yml 文件的样子。

                Effect: Allow
                Action:
                  - 'dynamodb:DescribeTimeToLive'
                  - 'dynamodb:BatchGet*'
                  - 'dynamodb:DescribeStream'
                  - 'dynamodb:DescribeTable'
                  - 'dynamodb:Get*'
                  - 'dynamodb:Query'
                  - 'dynamodb:Scan'
                  - 'dynamodb:BatchWrite*'
                  - 'dynamodb:CreateTable'
                  - 'dynamodb:Delete*'
                  - 'dynamodb:Update*'
                  - 'dynamodb:PutItem'
                Resource:
                  - 'arn:aws:dynamodb:*'

我已经提供了所有必需的权限,但仍然失败。有什么帮助吗??

根据documentation,如果你想为特定帐户添加所有区域中所有 DynamoDB 表的权限,你需要这样写:

"arn:aws:dynamodb:*:123456789012:table/*/"

我假设您也可以用 * 替换帐号,但如果这不起作用,您可以输入您的帐号。