我是否必须解密S3加密的文件?

时间:2017-02-01 18:34:52

标签: python amazon-web-services encryption amazon-s3

我使用S3而不是KMS来存储凭证文件,使用Python来读取文件的内容。

我通过在S3中单击加密来手动设置文件,转到属性 - 详细信息 - 服务器端加密:AES-256

在我的Python脚本中,我读取密钥时没有进行更改,因为我在未加密时读取文件。而且我也能够下载文件并打开它而无需像解密那样做任何事情。我原本以为要解密它,所以我有点困惑。

我只是无法理解服务器端加密可以防范什么。任何已经可以访问S3或带有密钥/文件的S3存储桶的人都可以读取该文件吗?谁不能打开文件?

1 个答案:

答案 0 :(得分:6)

"服务器端"您启用的加密功能会在静止时启用加密功能。这意味着文件在S3上进行加密。但S3会在您下载文件时向您发送数据之前对文件进行解密。

因此,如果文件已加密,则下载时文件的处理方式没有变化。

如果通过有效方式(例如使用API​​)下载文件,则此类加密不会保护文件。它只保护文件不被读取,如果有人要绕过S3数据中心或类似的东西。

如果您需要保护文件,以便在下载时必须对其进行解密,那么在将文件上传到S3之前,您需要在客户端对其进行加密。

您可以使用您认为值得的任何客户端加密方案:AES256等。但S3不会为您做这件事。