使用KMS加密文件并推送到S3

时间:2019-05-02 18:52:28

标签: python amazon-web-services amazon-s3 aws-lambda aws-kms

我有一个用Python编写的AWS lambda函数,该函数需要使用字符串变量中的数据创建文件,KMS对该文件进行加密并将其推送到S3。

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

我正在使用以上内容在S3中创建文件,但是有没有办法使用在推送到S3时必须加密文件的KMS密钥?

1 个答案:

答案 0 :(得分:1)

要在添加对象时使用KMS加密,请使用server side encryption选项:

  • df$q %in% (seq(1,100)/100) [1] FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE -启用KMS加密
  • ServerSideEncryption ="aws:kms"-指定要用于加密的KMS密钥。如果未指定,则AWS将只使用您的默认帐户密钥。

例如:

SSEKMSKeyId=keyId

您可能还需要在Boto配置文件中enable v4 signing