利用加密来保护数据
重要
Amazon S3 现在将具有 Amazon S3 托管密钥的服务器端加密(SSE-S3)作为 Amazon S3 中每个存储桶的基本加密级别。从 2023 年 1 月 5 日起,上传到 Amazon S3 的所有新对象都将自动加密,不会产生额外费用,也不会影响性能。S3 存储桶默认加密配置和上传的新对象的自动加密状态可在 AWS CloudTrail 日志、S3 清单、S3 Storage Lens 存储统计管理工具、Amazon S3 控制台中获得,并可用作 AWS Command Line Interface 和 AWS SDK 中的附加 Amazon S3 API 响应标头。有关更多信息,请参阅默认加密常见问题解答。
数据保护指在数据传输(发往和离开 Amazon S3 时)和处于静态(存储在 Amazon S3 数据中心的磁盘上时)期间保护数据。您可以使用安全套接字层/传输层安全性(SSL/TLS)或客户端加密来保护传输中数据。为保护 Amazon S3 中的静态数据,您具有以下选项:
-
服务器端加密 – Amazon S3 在将对象保存到 AWS 数据中心的磁盘之前对其进行加密,然后在下载对象时对其进行解密。
默认情况下,所有 Amazon S3 存储桶都配置了加密,所有上传到 S3 存储桶的新对象都会自动静态加密。具有 Amazon S3 托管密钥的服务器端加密(SSE-S3)是 Amazon S3 中每个存储桶的默认加密配置。要使用其它类型的加密,您可以指定要在 S3
PUT
请求中使用的服务器端加密类型,也可以在目标存储桶中更新默认加密配置。如果您想在
PUT
请求中指定不同的加密类型,则可以使用具有 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)、具有 AWS KMS 密钥的双层服务器端加密(DSSE-KMS)或具有客户提供的密钥的服务器端加密(SSE-C)。如果您想在目标存储桶中设置不同的默认加密配置,则可以使用 SSE-KMS 或 DSSE-KMS。有关更改通用存储桶的默认加密配置的更多信息,请参阅配置默认加密。
在将存储桶的默认加密配置更改为 SSE-KMS 时,不会更改存储桶中现有 Amazon S3 对象的加密类型。要在将默认加密配置更新为 SSE-KMS 后更改先前存在对象的加密类型,可以使用 Amazon S3 批量操作。您为 S3 批量操作提供对象列表,而批量操作调用相应的 API 操作。可以使用 复制对象 操作来复制现有对象,这会将这些对象写回到与 SSE-KMS 加密对象相同的存储桶中。单个批量操作作业可对数十亿个对象执行指定操作。有关更多信息,请参阅使用批量操作批量执行对象操作和 AWS Storage Blog 博客文章 How to retroactively encrypt existing objects in Amazon S3 using S3 Inventory, Amazon Athena, and S3 Batch Operations
。 有关服务器端加密的每个选项的更多信息,请参阅使用服务器端加密保护数据。
要配置服务器端加密,请参阅:
-
客户端加密 – 您在客户端加密数据并将加密的数据上传到 Amazon S3。在这种情况下,您需要管理加密过程、加密密钥和相关的工具。
要配置客户端加密,请参阅 使用客户端加密保护数据。
要查看存储字节的加密百分比,您可以使用 Amazon S3 Storage Lens 存储统计管理工具指标。S3 Storage Lens 存储统计管理工具是一项云存储分析功能,您可以使用它在整个组织范围内了解对象存储的使用情况和活动。有关更多信息,请参阅使用 S3 Storage Lens 存储统计管理工具访问存储活动和使用情况。有关指标的完整列表,请参阅 S3 Storage Lens 存储统计管理工具指标词汇表。
有关服务器端加密和客户端加密的更多信息,请查看下面的主题。