Для доступа к экземпляру Amazon RDS DB пользователю необходимы определенные разрешения. Это настраивается с помощью AWS IAM (управление удостоверениями и доступом). В этом уроке мы увидим, как это делается.
Конфигурация состоит из двух частей.
-
Аутентификация
-
Контроль доступа
Аутентификация
Контроль доступа
Аутентификация
Это включает в себя создание имени пользователя, пароля и генерацию ключей доступа для пользователя. С помощью клавиши доступа можно сделать программный доступ к сервису AWS RDS. Инструменты SDK и CLI используют ключи доступа для криптографического входа с запросом.
Мы также можем использовать роль IAM для аутентификации пользователя. Но роль не привязана к какому-либо конкретному пользователю, скорее любой пользователь может временно взять на себя роль и выполнить требуемую задачу. После завершения задачи роль может быть отозвана, и пользователь теряет возможность аутентификации.
Контроль доступа
После аутентификации пользователя политика, прикрепленная к этому пользователю, определяет тип задач, которые может выполнять пользователь. Ниже приведен пример политики, которая позволяет создавать экземпляр RDS DB на экземпляре t2.micro для DB Engine MySQL.
{ "Version": "2018-09-11", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }
Действие на любом ресурсе RDS
В приведенном ниже примере мы видим политику, которая разрешает любое действие по описанию любого ресурса RDS. Символ * используется для обозначения любого ресурса.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowRDSDescribe", "Effect":"Allow", "Action":"rds:Describe*", "Resource":"*" } ] }
Запретить удаление экземпляра БД
Приведенная ниже политика запрещает пользователю удалять конкретный экземпляр БД.