Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用服务器端加密保护数据

服务器端加密关乎静态数据加密,即 Amazon S3 在将您的数据写入数据中心内的磁盘时会在对象级别上加密这些数据,并在您访问这些数据时为您解密这些数据。只要您验证了您的请求并且拥有访问权限,您访问加密和未加密对象的方式就没有区别。例如,如果您使用预签名的 URL 来共享您的对象,那么对于加密和解密对象,该 URL 的工作方式是相同的。

注意

您不能对同一个对象应用不同类型的服务器端加密。

您有三个互斥选项,具体取决于您选择如何管理加密密钥:

  • 使用具有 Amazon S3 托管密钥的服务器端加密 (SSE-S3) – 利用多因素强加密来使用唯一密钥加密每个对象。作为额外的保护,它将使用定期轮换的主密钥加密密钥本身。Amazon S3 服务器端加密使用可用的最强数据块密码之一 (即 256 位高级加密标准 (AES-256)) 来加密您的数据。有关更多信息,请参阅 使用具有 Amazon S3 托管加密密钥的服务器端加密 (SSE-S3) 保护数据

  • 使用具有 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) – 与 SSE-S3 类似,但使用此服务有一些额外好处以及一些额外费用。使用信封密钥 (即,保护数据的加密密钥的密钥) 需要单独的权限,信封密钥可进一步防止未经授权地访问 S3 中的对象。SSE-KMS 还提供您的密钥的使用时间和使用者的审核跟踪。此外,您可以选择自己创建和管理加密密钥,或使用对您所使用的服务和您的工作区域来说具有唯一性的默认密钥。有关更多信息,请参阅 使用具有 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据

  • 将服务器端加密与客户提供的密钥一起使用 (SSE-C) - 您管理加密密钥,而 Amazon S3 管理加密 (在 对磁盘进行写入时) 和解密 (在您访问您的对象时)。有关更多信息,请参阅 通过使用客户提供的加密密钥的服务器端加密 (SSE-C) 保护数据

注意

在您列出存储桶中的对象时,列表 API 会返回所有对象的列表 (无论对象是否加密)。