使用客户端加密保护数据
客户端加密是在本地加密数据,以帮助确保数据在传输中和静态时的安全性的行为。要在将对象发送到 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 Encryption Client Developer Guide》侧重于 3.0 及更高版本的 Amazon S3 加密客户端。有关更多信息,请参阅《Amazon S3 加密客户端开发人员指南》中的什么是 Amazon S3 加密客户端?
有关早期版本的 Amazon S3 加密客户端的更多信息,请参阅适用于您的编程语言的《Amazon SDK Developer Guide》。