首页 > 解决方案 > 使用 boto2 从加密桶中获取对象?

问题描述

是否可以使用 boto 2 从加密的 S3 存储桶中获取文件?我正在处理一个在多个地方使用 S3 并且必须读取/写入加密 S3 存储桶的项目。我想暂时做一个尽可能小的改变来支持加密。

标签: amazon-web-servicesamazon-s3aws-kms

解决方案


加密实际上是在对象级别工作,而不是存储桶

有几种方法可以使用加密。如果它是使用带有 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密来保护数据,那么只要您的应用程序有权访问该对象,那么它将被自动解密。(应用程序甚至不会注意到它已被加密!)

如果它使用带有 AWS KMS 托管密钥 (SSE-KMS) 的服务器端加密来保护数据,则应用程序还需要足够的权限才能在 KMS 中使用密钥。该对象将被自动解密,但它需要使用密钥的权限。

如果应用使用带有客户提供的加密密钥 (SSE-C) 的服务器端加密来保护数据,则应用在尝试访问对象时必须提供加密密钥。

最后,如果它是使用客户端加密保护数据,那么应用程序将完全负责加密/解密。

您的数据很可能正在使用带有 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密。如果是这样,那么您的应用程序无需执行任何操作——这一切都将由 Amazon S3 自动处理。


推荐阅读