从S3读取KMS加密文件

时间:2019-05-02 21:46:10

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

如何使用boto3资源从S3存储桶中读取KMS加密文件?

下面是我用来读取未加密文件的代码段-

s3 = boto3.resource('s3')
obj = s3.Object(bucket_name, key)
body = obj.get()['Body'].read()
print(' body = {}'.format(body))

1 个答案:

答案 0 :(得分:1)

Do I need to specify the AWS KMS key when I download a KMS-encrypted object from Amazon S3?

有一个有用的答案
  

否,您无需在下载以下内容时指定AWS KMS密钥ID:   来自S3存储桶的SSE-KMS加密对象。相反,您需要   解密AWS KMS密钥的权限。

因此,除非您正在执行CMK,否则无需在GetObject请求上提供KMS信息(这是boto3资源级方法在幕后所做的事情)。您只需要具有访问KMS密钥以进行解密的权限。 S3 / KMS将为您完成其余的工作。

您可以根据链接的文章配置与Lambda函数的IAM角色关联的IAM策略。