允许访问特定表的 DynamoDB 控制台的 IAM 策略
IAM policy to allow access to DynamoDB console for specific tables
是否可以创建一个 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": "*"
}
]
}
抱歉告诉你坏消息,AWS 管理控制台需要对整个 DynamoDB 的 DescribeTable
和 ListTables
权限才能正常运行。
但是,有一个小的解决方法...您可以为控制台用户提供一个 URL,将他们直接带到 table,并且可以正常查看和添加项目等。
只需从具有正确权限的用户处复制 URL,例如:
https://REGION.console.aws.amazon.com/dynamodb/home?region=REGION#explore:name=TABLE-NAME
我发现除了 DynamoDB,users need to have wildcard permissions for CloudWatch and SNS. (Consider "Example 5: Set Up Permissions Policies for Separate Test and Production Environments").
您可以将 AmazonDynamoDBReadOnlyAccess
添加到您的预定义策略中。
是否可以创建一个 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": "*"
}
]
}
抱歉告诉你坏消息,AWS 管理控制台需要对整个 DynamoDB 的 DescribeTable
和 ListTables
权限才能正常运行。
但是,有一个小的解决方法...您可以为控制台用户提供一个 URL,将他们直接带到 table,并且可以正常查看和添加项目等。
只需从具有正确权限的用户处复制 URL,例如:
https://REGION.console.aws.amazon.com/dynamodb/home?region=REGION#explore:name=TABLE-NAME
我发现除了 DynamoDB,users need to have wildcard permissions for CloudWatch and SNS. (Consider "Example 5: Set Up Permissions Policies for Separate Test and Production Environments").
您可以将 AmazonDynamoDBReadOnlyAccess
添加到您的预定义策略中。