Доступы пользователя IAM к одному бакету S3

Допустим, если хочется со своего аккаунта и карточки купить сервис AWS, но выделить отдельного пользователя с правами исключительно на один S3 бакет – например поручить роботу бекапы заливать туда, то не все очевидно. Последовательность такая:

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

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.