Я хочу использовать инструмент командной строки AWS RDS для создания снимка моей базы данных my-database
использование create-db-snapshot
.
Я создал специальную резервную роль в, я с политикой, которая позволяет мне описывать, копировать и создавать снимки. Это похоже на это (я заменил чувствительный идентификатор x):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmtxxxxxxxxxxxxxx",
"Effect": "Allow",
"Action": [
"rds:CopyDBSnapshot",
"rds:CreateDBSnapshot",
"rds:DescribeDBSnapshots",
"rds:DescribeEventCategories",
"rds:DescribeEvents"
],
"Resource": [
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:db:my-database"
]
}
]
}
После конфигурирования инструментов CLI с aws configure
и вводя ключи для этого пользователя я пытался сделать снимок путем выполнения этой команды:
aws rds create-db-snapshot \
--db-snapshot-identifier "my-database-backup-$(date +%d-%m-%Y-%Hh%Mm)" \
--db-instance-identifier "my-database"
Это приводит к высказыванию сообщения об ошибке:
Клиентская ошибка (AccessDenied) произошла при вызове деятельности CreateDBSnapshot: Пользователь: arn:aws:i:: xxxxxxxxxxxxxx:user/automated-tasks не разрешен работать: rds:CreateDBSnapshot на ресурсе: arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:snapshot:my-database-backup-24-11-2014-11h07m
Я думал, что это было странно, поскольку это говорит, что доступ запрещен к ресурсу с именем, которое я указал для --db-snapshot-identifier
аргумент, как соединено к --db-instance-identifier
аргумент.
Если у меня есть достаточные полномочия создать снимок, относился к экземпляру во-первых, не был должен я по сути иметь создавать-полномочия для того снимка?
Так или иначе я пытался изменить ресурс в политике ко всему в RDS:
"Resource": [
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:*"
]
Я надеялся, что это будет работать, потому что теперь моя роль имеет полномочия создавать-снимка для всего в RDS ARN моей учетной записи, но это не сделало.
У кого-либо есть подсказка относительно того, почему моя команда возвращает ошибку?
Это действительно странно, но похоже, что разрешение CreateDBSnapshot
также должно быть назначено целевому снимку.
Эта политика работает:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmtxxxxxxxxxxxxxx",
"Effect": "Allow",
"Action": [
"rds:CreateDBSnapshot"
],
"Resource": [
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:db:my-database",
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:snapshot:*"
]
}
]
}