使用客户端加密保护数据
客户端加密是在本地加密数据,以帮助确保数据在传输中和静态时的安全性的行为。要在将对象发送到 Amazon S3 之前对其进行加密,请使用 Amazon S3 加密客户端。当您的对象以这种方式加密时,您的对象不会泄露给任何第三方,包括 Amazon。Amazon S3 接收已经加密的对象;Amazon S3 在加密或解密对象方面不起作用。您可以使用 Amazon S3 加密客户端和服务器端加密来加密您的数据。当您向 Amazon S3 发送加密对象时,Amazon S3 无法将这些对象识别为已加密,它只会检测典型的对象。
Amazon S3 加密客户端充当您与 Amazon S3 之间的中介。在您实例化 Amazon S3 加密客户端后,您的对象将作为 Amazon S3 PutObject
和 GetObject
请求的一部分自动加密和解密。您的对象全部使用唯一的数据密钥加密。即使您将 KMS 密钥指定为包装密钥,Amazon S3 加密客户端也不会使用桶密钥或与桶密钥交互。
《Amazon S3 加密客户端开发人员指南》重点介绍了适用于 Java 的 Amazon S3 加密客户端的 3.x 版本,该版本是 amazon-s3-encryption-client-java
有关其他语言实现的更多信息,请参阅适用于您的编程语言的《Amazon SDK 开发人员指南》。