S3 上传使用服务器端加密(python SDK)

Rai*_*nov 2 amazon-s3 python-3.x

我正在使用以下代码段将我的文件上传到 AWS S3 存储桶:

import boto3

def upload_to_s3(bucket_name, local_name, name):
    bucket = boto3.resource('s3').Bucket(my_bucket_name)
    bucket.upload_file(local_name, name)
Run Code Online (Sandbox Code Playgroud)

有没有办法修改此代码以启用SSE?

Jam*_*ean 6

有2种方式。

  1. 使用这个:https : //www.justdocloud.com/2018/09/21/upload-download-s3-using-aws-kms-python/

    s3_client.upload_file(filename, bucketname, objectkey, ExtraArgs={"ServerSideEncryption": "aws:kms", "SSEKMSKeyId": })
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在存储桶上使用 KMS 启用默认存储桶加密,并确保您用于上传的用户/角色具有 KMS 权限,这样您就无需在此处定义任何 kms 密钥。