Политика IAM, разрешающая доступ к консоли DynamoDB для определенных таблиц
Можно ли создать политику 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" (как это происходит, когда никакая политика не прикреплена).
Установка "Ресурса" в "*" и добавление нового оператора, как показано ниже, позволяет пользователю выполнять <другие действия> для 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": "*"
}
]
}
2 ответа
Извините за плохие новости, но Консоль управления AWS требует обоих DescribeTable
а также ListTables
разрешения против всего DynamoDB для правильной работы.
Тем не менее, есть небольшой обходной путь... Вы можете дать пользователям консоли URL-адрес, который перенаправляет их непосредственно к таблице и отлично работает для просмотра и добавления элементов и т. Д.
Просто скопируйте URL-адрес пользователя, который имеет правильные разрешения, например:
https://REGION.console.aws.amazon.com/dynamodb/home?region=REGION#explore:name=TABLE-NAME
Я обнаружил, что помимо DynamoDB пользователям необходимо иметь групповые разрешения для CloudWatch и SNS. Смотрите здесь: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/using-identity-based-policies.html (тема: "Пример 5. Настройка политик разрешений для отдельных сред тестирования и производства").
Вы можете добавить предопределенную политику AmazonDynamoDBReadOnlyAccess к вашей.