AWS S3 bucket encryption - настройка свойства корзины в сравнении с настройкой политики корзины - PullRequest
0 голосов
/ 22 октября 2018

Я создал корзину AWS S3 и в свойстве я включил «Шифрование по умолчанию».Тогда Нужно ли мне создавать политику сегментов, подобную приведенной ниже?

Примечание. Я просто хочу сделать s3 зашифрованным обычным способом, не предъявляя особых требований.

  "Statement": [
    {
        "Sid": "DenyIncorrectEncryptionHeader",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutObject",
        "Resource": "arn:aws:s3:::s3_bucket_name/*",
        "Condition": {
            "StringNotEquals": {
                "s3:x-amz-server-side-encryption": "AES256"
            }
        }
    },
    {
        "Sid": "DenyUnEncryptedObjectUploads",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutObject",
        "Resource": "arn:aws:s3:::s3_bucket_name/*",
        "Condition": {
            "Null": {
                "s3:x-amz-server-side-encryption": "true"
            }
        }
    }
  ]

1 Ответ

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

Чтобы проверить это, я создал корзину и активировал Шифрование по умолчанию .

Когда я тогда попытался загрузить файл через Консоль управления , он сказал:

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

Default encryption

Файл, который я загрузил сделал зашифрован.

Затем я загрузил файл через CLI AWS :

aws s3 cp foo s3://my-bucket/

Загруженный файл был зашифровано.

Однако обратите внимание, что настройка называется Шифрование по умолчанию .Это означает, что, если не указано иное, объект будет зашифрован.Однако не обеспечивает шифрование , поэтому, если пользователь специально выбрал другой тип шифрования (например, MKS вместо AES256), ему будет разрешено это сделать.(Я не мог найти способ, которым они могли бы конкретно запросить «без шифрования».)

Вот где вступают ваши политики (см. Выше). Они могут применять определенную форму шифрования.Если эти требования не выполняются, то PutObject отклоняется.

Затем я взял политику шифрования у Как предотвратить загрузку незашифрованных объектов в Amazon S3 |Блог безопасности AWS (который, кажется, соответствует тем, которые вы использовали) и поместил их в Bucket Policy .

Затем я попытался загрузить с консоли управления иНе удалось! Это сработало, только если я специально выбрал «мастер-ключ Amazon S3» в качестве опции шифрования.Поэтому параметр «Шифрование по умолчанию» несовместим с политиками.

Я также попытался загрузить с «главным ключом AWS KMS» в качестве параметра шифрования, и снова не удалось , поскольку этоне соответствует политике (которая специально проверяет AES256, а не шифрование KMS).

Итог: Использование Шифрование по умолчанию приведет к некоторому шифрованию объектов.Политики могут применять определенный тип шифрования.

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