Каков наилучший способ автоматизации и применения политики сегментов для нескольких сегментов s3? - PullRequest
1 голос
/ 01 июля 2019

Предположим, у меня есть более ста блоков s3, и я хочу применить политику сегментов для всех из них, так какова была бы процедура для автоматизации этого?

1 Ответ

1 голос
/ 01 июля 2019

Используйте скрипт для вызова команды AWS CLI для каждого сегмента.

aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json

policy.json:
{
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "s3:GetObject",
         "Resource": "arn:aws:s3:::MyBucket/*"
      },
      {
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:GetObject",
         "Resource": "arn:aws:s3:::MyBucket/MySecretFolder/*"
      },
      {
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:root"
         },
         "Action": [
            "s3:DeleteObject",
            "s3:PutObject"
         ],
         "Resource": "arn:aws:s3:::MyBucket/*"
      }
   ]
}

Я бы назвал эту команду в скрипте или командном файле, один раз для каждого сегмента.

aws s3api put-bucket-policy --bucket MyBucket0 --policy file://policy.json

aws s3api put-bucket-policy --bucket MyBucket1 --policy file://policy.json

aws s3api put-bucket-policy --bucket MyBucket2 --policy file://policy.json

Вы должны экспортировать свой список сегментов в файл и построить скрипт из этого файла.

См. https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...