0

我尝试创建一个拒绝访问 dynamodb 表的策略。

我添加了 ReadOnlyAccess(完整),我希望用户不能读取/使用/将数据放在一个表中

政策看起来像这样

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "dynamodb:BatchGet*",
                "dynamodb:DescribeStream",
                "dynamodb:DescribeTable",
                "dynamodb:Get*",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWrite*",
                "dynamodb:CreateTable",
                "dynamodb:Delete*",
                "dynamodb:Update*",
                "dynamodb:PutItem"
            ],
            "Effect": "Deny",
            "Resource": "arn:aws:dynamodb:xx-xx-xx:xxxxxxx:table/some-name"
        }
    ]
}

用户现在无法检查 some-name 表中的数据,这很好,但是当我列出这些表时,我看到一堆随机的“加载失败”表。我可以单击它们并访问数据,但我不想看到加载失败(除了可能的名称表)。

我究竟做错了什么?

4

1 回答 1

2

我找不到主要来源,但从这个问题IAM policy to allow access to DynamoDB console for specific tables的答案来看,所有表可能始终需要“dynamodb:DescribeTable”权限才能使控制台正常工作。

我想这是有道理的,因为我不认为从“ListTables”返回的表可以受到限制,如果控制台在受限制的表上执行“DescribeTable”,它会出错。

于 2020-05-19T12:17:04.570 回答