【发布时间】:2015-10-01 13:08:24
【问题描述】:
我们在 AWS S3 中存储了用于生产服务的图像。
是否有任何 API 允许对这些现有资源启用加密而无需再次下载和上传?
我在 Python 中看到 Boto module 允许使用其他参数(例如加密)克隆密钥,但这会创建一个新密钥。由于这些密钥存储在单独的数据库中,我们希望保留现有密钥,但只启用加密。
【问题讨论】:
我们在 AWS S3 中存储了用于生产服务的图像。
是否有任何 API 允许对这些现有资源启用加密而无需再次下载和上传?
我在 Python 中看到 Boto module 允许使用其他参数(例如加密)克隆密钥,但这会创建一个新密钥。由于这些密钥存储在单独的数据库中,我们希望保留现有密钥,但只启用加密。
【问题讨论】:
这里有一些代码可以将存储桶中的所有文件转换为使用服务器端加密:
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 等。
【讨论】: