【问题标题】:IAM policy to allow access to DynamoDB console for specific tables允许访问特定表的 DynamoDB 控制台的 IAM 策略
【发布时间】:2015-08-05 02:17:01
【问题描述】:

是否可以创建一个 AWS IAM 策略,只为特定表提供对 DynamoDB 控制台的访问权限?我试过了:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt0000000001",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:ListTables",
                <other actions>
            ], 
            "Effect": "Allow",
            "Resource": [
                "arn:aws:dynamodb:<region>:<account>:table/FooTable",
                "arn:aws:dynamodb:<region>:<account>:table/BarTable"
            ]
        }
    ]
}

但对于附加此策略的用户,DynamoDB 表列表显示Not Authorized(与未附加策略时一样)。

"Resource" 设置为"*" 并添加如下所示的新语句可让用户在FooTableBarTable 上执行&lt;other actions&gt;,但他们也可以查看表列表中的所有其他表。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt0000000001",
            "Action": [
                <other actions>
            ], 
            "Effect": "Allow",
            "Resource": [
                "arn:aws:dynamodb:<region>:<account>:table/FooTable",
                "arn:aws:dynamodb:<region>:<account>:table/BarTable"
            ]
        },
        {
            "Sid": "Stmt0000000002",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:ListTables"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

【问题讨论】:

  • Sid 是怎么回事?这是任意的吗?

标签: amazon-dynamodb amazon-iam


【解决方案1】:

抱歉,这个坏消息,但 AWS 管理控制台需要对整个 DynamoDB 的 DescribeTableListTables 权限才能正常运行。

但是,有一个小解决方法...您可以为控制台用户提供一个 URL,将他们直接带到表中,并且可以正常查看和添加项目等。

只需从具有正确权限的用户那里复制 URL,例如:

https://REGION.console.aws.amazon.com/dynamodb/home?region=REGION#explore:name=TABLE-NAME

【讨论】:

  • 感谢您的想法,尽管他们仍然可以从该链接访问 DynamoDB 控制台。
  • 在文档中找不到对此的具体引用,但我对您的策略进行了试验,并确认控制台的“表列表”页面需要这两个权限才能正常运行。
【解决方案2】:

我发现除了 DynamoDB,users need to have wildcard permissions for CloudWatch and SNS。 (考虑"Example 5: Set Up Permissions Policies for Separate Test and Production Environments")。

您可以将AmazonDynamoDBReadOnlyAccess 添加到您的预定义策略中。

【讨论】:

  • 引用的资源已更新,不再包含上述示例,因此我添加了存档链接。
猜你喜欢
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-26
相关资源
最近更新 更多