Включение управления версиями S3 для большого количества сегментов - PullRequest
0 голосов
/ 08 октября 2018

Было объявлено, что во всех наших корзинах S3 должны быть включены журналы доступа и управление версиями.К сожалению, у меня много ведер S3.Есть ли эффективный способ сделать это, который не требует установки атрибутов для каждого из них отдельно в консоли?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Вы также можете разработать собственное правило AWS Config для управления соответствием AWS S3 Buckets.(управление версиями и журналы включены)

Вы можете проверить множество примеров здесь:

Вы можете адаптировать его под свои нужды:

0 голосов
/ 08 октября 2018

Для большинства задач в AWS самый простой способ - использовать интерфейс командной строки AWS, особенно в том, что касается повторяющихся действий.

Вы можете использовать интерфейс командной строки AWS и простой скрипт bash, как этот, с помощью rtrouton :

#!/bin/bash

# This script is designed to check the object versioning status of all S3 buckets associated with an AWS account
# and enable object versioning on any S3 buckets where object versioning is not enabled.

# Get list of S3 buckets from Amazon Web Services

s3_bucket_list=$(aws s3api list-buckets --query 'Buckets[*].Name' | sed -e 's/[][]//g' -e 's/"//g' -e 's/,//g' -e '/^$/d' -e 's/^[ \t]*//;s/[ \t]*$//')

# Loop through the list of S3 buckets and check the individual bucket's object version status.

for bucket in $(echo "$s3_bucket_list")
do
  version_status=$(aws s3api get-bucket-versioning --bucket "$bucket" | awk '/Status/ {print $2}' | sed 's/"//g')
   if [[ "$version_status" = "Enabled" ]]; then

      # If the object version status is Enabled, report that the S3 bucket has object versioning enabled.

      echo "The $bucket S3 bucket has object versioning enabled."
  elif [[ "$version_status" != "Enabled" ]]; then

      # If the object version is a status other than Enabled, report that the S3 bucket does not have
      # object versioning enabled, then enable object versioning

      echo "The $bucket S3 bucket does not have object versioning enabled. Enabling object versioning on the $bucket S3 bucket."
      aws s3api put-bucket-versioning --bucket "$bucket" --versioning-configuration Status=Enabled
  fi
done

Для получения дополнительной информации вы можете проверить следующий документ на веб-сайте AWS:

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

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