Old*_*zer 5 amazon-dynamodb amazon-iam
在 IAM 中,我尝试为用户创建以下策略(混淆 arn 中的帐户 ID):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:999999999999:table/busUsers"
}
]
}
Run Code Online (Sandbox Code Playgroud)
然而,它导致:
此策略定义了一些不提供权限的操作、资源或条件。要授予访问权限,策略必须具有具有适用资源或条件的操作。有关详细信息,请选择显示剩余了解更多
Show remaining 显示:
一项或多项操作没有适用的资源。
我查找了Learn more链接,它说要将Resource元素中的 arn 替换为*. 我现在很困惑。什么*意思?我想授予对我的特定 DynamoDB 表的访问权限。我该如何指定?
编辑:我删除了所有 DyanamoDB 操作,只选择了一个GetItem,它是:

当我取消选择时GetItem,两条错误消息都会消失。当我选择表Any 时,第一条错误消息消失了。当我选择Resource Any 时,第二条错误消息消失了。
这是因为您向表资源授予所有 dynamodb 操作的权限,但并非所有这些操作实际上都适用于表。
例如 dynamodb:DescribeStream 不适用于表,仅适用于流,但您无论如何都会授予对此资源的权限。
您可以安全地忽略此警告。
编辑:您可能没有意识到只需单击“保存策略”即可正常工作。
编辑:感谢您发布您的屏幕截图。这里没有错误,只有警告,在这种情况下最好称为提示。
当您手动输入资源的 ARN 时,AWS 似乎无法识别该资源的类型(即表)。如果您通过表 ARN 生成器添加资源,则不会出现任何警告。无论哪种情况,您最终都会得到相同的政策。
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |