如何授予对DynamoDB表的访问权限?

时间:2017-12-29 15:35:48

标签: 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"
    }
 ]
}

然而,结果是:

  

此策略定义了一些不提供权限的操作,资源或条件。要授予访问权限,策略必须具有具有适用资源或条件的操作。有关详细信息,请选择显示剩余Learn more

Show remaining显示:

  

一个或多个操作没有适用的资源。

我查找了Learn more链接,并说明用Resource替换*元素中的arn。我现在很困惑。 *是什么意思?我想授予对我的特定DynamoDB表的访问权限。我该如何指定?

编辑:我删除了所有DyanamoDB操作,只选择了一个GetItem,它是: enter image description here

当我取消选择GetItem时,两条错误消息都会消失。 当我选择 Any时,第一条错误消息就会消失。 当我选择资源任意时,第二条错误消息就会消失。

2 个答案:

答案 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

当我缓解了个人问题(首先让我研究此问​​题)时,我的类似警告仍然存在(即使在我的问题被其他问题解决后也是如此)-这使我相信自己的类似经历视觉编辑器确实确实是那个错误(并且完全没有引起/涉及我以前的问题)。