Зашифруйте файл с помощью KMS и нажмите на S3 - PullRequest
0 голосов
/ 02 мая 2019

У меня есть лямбда-функция AWS, написанная на Python, которая должна создать файл с использованием данных в строковой переменной, KMS зашифровать файл и отправить файл на S3.

s3_resource = boto3.resource("s3")
s3_resource.Bucket(bucket_name).put_object(Key=s3_path, Body=data)

Я использую вышеупомянутоечтобы создать файл в S3, но есть ли способ использовать ключи KMS, которые я должен зашифровать файл при нажатии на S3?

1 Ответ

1 голос
/ 02 мая 2019

Чтобы использовать шифрование KMS при добавлении объекта, используйте шифрование на стороне сервера , опции:

  • ServerSideEncryption ="aws:kms" - включить шифрование KMS
  • SSEKMSKeyId=keyId - для указания ключа KMS, который вы хотите использовать для шифрования. Если вы не укажете это, AWS просто использует ваш ключ учетной записи по умолчанию.

Например:

s3_resource.Bucket(bucket_name).put_object(
        Key=s3_path,
        Body=data,
        ServerSideEncryption ="aws:kms"
    )

Вам также может понадобиться включить подпись v4 в файле конфигурации boto.

...