Amazon S3 的加密最佳实践 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon S3 的加密最佳实践

Amazon Simple Storage Service(Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。

对于 Amazon S3 的服务器端加密,有三个选项:

Amazon S3 应用服务器端加密,将亚马逊 S3 托管密钥 (SSE-S3) 作为亚马逊 S3 中每个存储桶的基本加密级别。从 2023 年 1 月 5 日起,上传到 Amazon S3 的所有新对象都将自动加密,不会产生额外费用,也不会影响性能。S3 存储桶默认加密配置和新对象上传的自动加密状态可在 AWS CloudTrail 日志、S3 清单、S3 存储镜头、Amazon S3 控制台中找到,并在 AWS Command Line Interface (AWS CLI) 和 AWS SDKs中作为其他 Amazon S3 API 响应标头提供。有关更多信息,请参阅默认加密常见问题解答

如果在上传时使用服务器端加密来加密对象,请将 x-amz-server-side-encryption 标头添加到请求中,以通知 Amazon S3 使用 SSE-S3、SSE-KMS 或 SSE-C 加密对象。以下是 x-amz-server-side-encryption 标头的可能值:

  • AES256,通知 Amazon S3 使用 Amazon S3 托管的密钥。

  • aws:kms,它告诉 Amazon S3 使用 AWS KMS 托管密钥。

  • 对于 SSE-C,将值设置为 TrueFalse

有关更多信息,请参阅 “如何使用存储桶策略和申请 Defense-in-Depth帮助保护您的 Amazon S3 数据”(AWS 博客文章)中的Defense-in-depth 要求 1:静态数据和传输期间必须对数据进行加密

对于 Amazon S3 中的客户端加密,有两个选项:

  • 密钥存储在 AWS KMS

  • 存储在应用程序中的密钥

考虑下面针对该服务的加密最佳实践: