在IAM中,我尝试为用户创建以下策略(arn模糊处理中的帐户ID):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:999999999999:table/busUsers"
}
]
}
然而,结果是:
此策略定义了一些不提供权限的操作,资源或条件。要授予访问权限,策略必须具有具有适用资源或条件的操作。有关详细信息,请选择显示剩余Learn more
Show remaining
显示:
一个或多个操作没有适用的资源。
我查找了Learn more链接,并说明用Resource
替换*
元素中的arn。我现在很困惑。 *
是什么意思?我想授予对我的特定DynamoDB表的访问权限。我该如何指定?
编辑:我删除了所有DyanamoDB操作,只选择了一个GetItem
,它是:
当我取消选择GetItem
时,两条错误消息都会消失。
当我选择表 Any时,第一条错误消息就会消失。
当我选择资源任意时,第二条错误消息就会消失。
答案 0 :(得分:2)
这是因为您将所有dynamodb操作的权限授予表资源,但并非所有这些操作都实际适用于表。
例如dynamodb:DescribeStream不适用于表,只适用于Stream,但无论如何都要授予此资源权限。
您可以放心地忽略此警告。
编辑:您可能没有意识到只需单击“保存策略”即可正常工作。
编辑:感谢您发布截图。这里没有错误,只是警告,在这种情况下可能更好地称为提示。
当您手动输入资源的ARN时,AWS似乎无法识别它所属的资源类型(即表格)。如果您通过表ARN生成器添加资源,则不会发出任何警告。无论哪种情况,您最终都会采用相同的政策。
答案 1 :(得分:0)
您可能会遇到IAM Policy Visual编辑器本身的[由Amazon员工rob @ AWS讨论]的错误(因此没有遇到任何实际问题): https://forums.aws.amazon.com/thread.jspa?threadID=282453
当我缓解了个人问题(首先让我研究此问题)时,我的类似警告仍然存在(即使在我的问题被其他问题解决后也是如此)-这使我相信自己的类似经历视觉编辑器确实确实是那个错误(并且完全没有引起/涉及我以前的问题)。