Игнорировать стандартное шифрование AWS KMS для загрузки S3 с использованием Python Boto3 - PullRequest
1 голос
/ 12 марта 2019

Недавно мы включили AWS KMS для всех наших сегментов Amazon S3, которые по умолчанию применяют шифрование на стороне сервера ко всем файлам, которые мы загружаем в наши собственные сегменты S3 или в сегменты S3, принадлежащие кому-то другому.

Есть ли способ намеренно «игнорировать» шифрование KMS по умолчанию для загрузки незашифрованных файлов в корзину S3, принадлежащую третьей стороне? Сторонняя команда не может открыть файлы, которые мы им отправляем. Я понимаю, что одним из решений было бы поделиться ключом KMS с третьей стороной, но из-за характера отношений лучше, если мы будем предоставлять только незашифрованные файлы вместо того, чтобы делиться ключом.

Вот код Python, который я использовал для доставки файлов. Как изменить параметр ExtraArgs, чтобы намеренно игнорировать шифрование KMS по умолчанию?

from boto3 import client
from boto3.s3.transfer import TransferConfig


client = client('s3', ...)
config = TransferConfig(multipart_threshold=1024 * 25, multipart_chunksize=1024 * 25,
                        max_concurrency=10, use_threads=True)

client.upload_file(filename='test.csv', bucket='my-bucket', key='test.csv',
                   Config=config, ExtraArgs={'ACL': 'bucket-owner-full-control'})
...