我使用S3而不是KMS来存储凭证文件,使用Python来读取文件的内容。
我通过在S3中单击加密来手动设置文件,转到属性 - 详细信息 - 服务器端加密:AES-256
在我的Python脚本中,我读取密钥时没有进行更改,因为我在未加密时读取文件。而且我也能够下载文件并打开它而无需像解密那样做任何事情。我原本以为要解密它,所以我有点困惑。
我只是无法理解服务器端加密可以防范什么。任何已经可以访问S3或带有密钥/文件的S3存储桶的人都可以读取该文件吗?谁不能打开文件?
答案 0 :(得分:6)
"服务器端"您启用的加密功能会在静止时启用加密功能。这意味着文件在S3上进行加密。但S3会在您下载文件时向您发送数据之前对文件进行解密。
因此,如果文件已加密,则下载时文件的处理方式没有变化。
如果通过有效方式(例如使用API)下载文件,则此类加密不会保护文件。它只保护文件不被读取,如果有人要绕过S3数据中心或类似的东西。
如果您需要保护文件,以便在下载时必须对其进行解密,那么在将文件上传到S3之前,您需要在客户端对其进行加密。
您可以使用您认为值得的任何客户端加密方案:AES256等。但S3不会为您做这件事。