【问题标题】:Filtering list of tables through IAM in DynamoDB Admin Interface在 DynamoDB 管理界面中通过 IAM 过滤表列表
【发布时间】:2014-02-21 12:08:43
【问题描述】:

我正在尝试使用 IAM 在 DynamoDB 管理 UI 中过滤表名列表。

当我使用此策略时,它会显示所有表格:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "XXXXXXX",
      "Effect": "Allow",
      "Action": [
        "dynamodb:DescribeTable",
        "dynamodb:ListTables"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

当我使用此策略时,它什么也不显示(只是“未授权”消息):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "XXXXXXX",
      "Effect": "Allow",
      "Action": [
        "dynamodb:DescribeTable",
        "dynamodb:ListTables"
      ],
      "Resource": [
        "us-east-1:XXXXXXXXXXX:table/table_to_show"
      ]
    }
  ]
}

有人知道这是否可行吗?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb amazon-iam


    【解决方案1】:

    您的政策存在两个问题。

    正如上面评论中指出的,URN 是错误的,它应该以 arn:aws:dynamodb:*

    dynamoDB 中的第二个ListTables 操作不允许在资源级别访问 引用AWS Documentation You can use resource-level ARNs in IAM policies for all DynamoDB actions, with the exception of ListTables. The ListTables action returns the table names owned by the current account making the request for the current region; it is the only DynamoDB action that does not support resource-level ARN policies. 因此,如果您尝试任何其他操作,它将通过 DescribeTable

    对此的解决方案是,您应该使用"Resource":["*"ListTables 操作添加一个策略]

    【讨论】:

    • 感谢您的回答。我试图阻止用户看到所有表名,因此根据文档中的引用,这似乎是不可能的。
    【解决方案2】:

    看来您需要更改这种格式的 Dynamo DB 表的 ARN。

    “资源”:“arn:aws:dynamodb:us-west-2:123456789012:table/Books”

    Using IAM to Control Access to DynamoDB Resources.

    另一点:要在管理控制台中列出某些内容,您需要比描述和列表更多的权限,因为列表显示属性等。尝试添加所有这些(这将有效地在特定表上完整读取)。

                "dynamodb:ListTables",
                "dynamodb:DescribeTable",
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:Query",
                "dynamodb:Scan"
    

    【讨论】:

    • 谢谢,但 ARN 的格式正确 - 它们适用于其他一切。我已经在示例中删除了我的详细信息。
    • 我在上面的答案中添加了更多信息 - 试一试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2023-03-23
    • 2020-09-29
    • 2012-10-01
    • 2020-12-07
    • 1970-01-01
    相关资源
    最近更新 更多