Допустим, если хочется со своего аккаунта и карточки купить сервис AWS, но выделить отдельного пользователя с правами исключительно на один S3 бакет – например поручить роботу бекапы заливать туда, то не все очевидно. Последовательность такая:
- Активировать сервисы S3 & IAM
- В дашборде IAM можно сделать алиаз (УРЛ), что бы было удобнее логиниться через веб для тестов
- Создать пользователя или группу в IAM, необходимые явки и пароли (ключ для API типа s3sync, пароль для тестов через веб)
- Создать бакет в S3
- Далее на вкладке Permissions в IAM добавляем две политики (не забыть дать разные названия, кстати, OMG, это JSON код):
-
{ "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" } ] }
-
{ "Statement": [ { "Action": "s3:*", "Effect": "Allow", "Resource": [ "arn:aws:s3:::mycoolbackupbucket", "arn:aws:s3:::mycoolbackupbucket/*" ] } ] }
-
- Первая политика нужна для того, что бы отобразить все бакеты, в ненужные пускать не будет, но список всех будет видно, да…
- Enjoy, а вот нафига в настройках самого бакета это было не сделать – мне не понятно, сырая система этот AWS, чего уж тут 🙂