我们在AWS S3中存储了用于生产服务的图像 是否有任何API可以在不下载和上传的情况下对这些现有资源进行加密?
我在Python中看到Boto module允许使用附加参数(例如加密)克隆密钥,但这将创建一个新密钥。由于这些密钥存储在单独的数据库中,我们希望保留现有密钥,但只需启用加密。
答案 0 :(得分:3)
这里有一些代码可以转换存储桶中的所有文件以使用服务器端加密:
import boto
conn = boto.connect_s3('REGION')
bucket = conn.get_bucket('BUCKET')
for k in bucket.list():
bucket.copy_key(new_key_name=k.key, src_bucket_name=bucket.name, src_key_name=k.key, encrypt_key=True)
它复制到相同的密钥名称,但您可能需要调整它以保留存储类,ACL等。