当数据处于静止状态时,如何向 CloudPageBlob 读取和写入添加透明加密/解密?HTTPS 只是在传输中加密......
假设我在我的桌面上运行代码并且只是使用 HTTP 来访问 blob 存储。
当数据处于静止状态时,如何向 CloudPageBlob 读取和写入添加透明加密/解密?HTTPS 只是在传输中加密......
假设我在我的桌面上运行代码并且只是使用 HTTP 来访问 blob 存储。
好吧,据我了解,您希望在将内容传输到网络之前为内容添加额外的加密。
要实现这一点,您必须围绕存储服务 REST API创建自己的包装器,而不是使用Microsoft 提供的存储客户端库。只有使用您自己的 REST 调用者,您才能在将内容设置为Request Body之前对其进行加密/解密。然后,当您下载 blob 时,您必须从Response Body解密它们。这样您就可以实现“透明加密”。在某种程度上是透明的,因为从应用程序的角度来看,您只需调用 EncryptedBlobStorageClient.UploadBlob(path_to_local_file)。但这并不是真正透明的,因为它存在于您的应用程序中,并且您不能在没有您的应用程序的情况下使用加密的 blob。
但是,如果您希望此加密/解密存在于 Blob 服务端点上 - 这是不可能的。
使用 Azure Blob 存储无法在服务器端透明地执行此操作。但是,可以使用 Amazon S3 执行此操作:
http://aws.typepad.com/aws/2011/10/new-amazon-s3-server-side-encryption.html
这通过请求标头非常简单地完成,并且没有额外费用:o)
如果您可以移动您的应用程序,或者至少将其存储移动到 S3,您可以使用它。