【发布时间】: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" 设置为"*" 并添加如下所示的新语句可让用户在FooTable 和BarTable 上执行<other actions>,但他们也可以查看表列表中的所有其他表。
{
"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