Недавно мы включили 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'})