Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon dynamodb 允许访问特定表的DynamoDB控制台的IAM策略_Amazon Dynamodb_Amazon Iam - Fatal编程技术网

Amazon dynamodb 允许访问特定表的DynamoDB控制台的IAM策略

Amazon dynamodb 允许访问特定表的DynamoDB控制台的IAM策略,amazon-dynamodb,amazon-iam,Amazon Dynamodb,Amazon Iam,是否可以创建仅为特定表提供对DynamoDB控制台访问的AWS IAM策略?我试过: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt0000000001", "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTables",

是否可以创建仅为特定表提供对DynamoDB控制台访问的AWS IAM策略?我试过:

{
    "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"
            ]
        }
    ]
}
{
“版本”:“2012-10-17”,
“声明”:[
{
“Sid”:“STMT000000001”,
“行动”:[
“dynamodb:可描述”,
“dynamodb:ListTables”,
], 
“效果”:“允许”,
“资源”:[
“arn:aws:dynamodb:::桌子/脚踏板”,
“arn:aws:dynamodb:::表格/表格”
]
}
]
}
但是对于附加了此策略的用户,DynamoDB表列表显示“未授权”(当未附加任何策略时也是如此)

将“Resource”设置为“*”并添加如下新语句,用户可以对FooTable和BarTable执行,但也可以查看表列表中的所有其他表

{
    "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": "*"
        }
    ]
}
{
“版本”:“2012-10-17”,
“声明”:[
{
“Sid”:“STMT000000001”,
“行动”:[
], 
“效果”:“允许”,
“资源”:[
“arn:aws:dynamodb:::桌子/脚踏板”,
“arn:aws:dynamodb:::表格/表格”
]
},
{
“Sid”:“STMT000000002”,
“行动”:[
“dynamodb:可描述”,
“dynamodb:列表表”
],
“效果”:“允许”,
“资源”:“*”
}
]
}

很抱歉听到这个坏消息,但是AWS管理控制台需要对整个DynamoDB拥有
可描述
列表
权限才能正确运行

然而,有一个小的解决办法。。。您可以为控制台用户提供一个URL,将他们直接带到表中,并且在查看和添加项目等方面操作良好

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

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

我发现除了DynamoDB之外,用户还需要拥有CloudWatchSNS的通配符权限。请参见此处:(主题:“示例5:为单独的测试和生产环境设置权限策略”)


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

感谢您的想法,尽管他们仍然可以从该链接访问DynamoDB控制台。在文档中找不到对此的特定引用,但我试用了您的策略,并确认这两个权限都是控制台的“表格列表”页面正常工作。现在,我可以这样做: