全部产品
对象存储 OSS

服务器端加密编码

更新时间:2017-06-07 13:26:11   分享:   

OSS支持在服务器端对用户上传的数据进行加密编码(Server-Side Encryption):用户上传数据时,OSS对收到的用户数据进行加密编码,然后再将编码得到的数据永久保存下来;用户下载数据时,OSS自动对保存的编码数据进行解码并把原始数据返回给用户,并在返回的HTTP请求Header中声明该数据进行了服务器端加密编码。换句话说,下载一个进行服务器端加密编码的Object和下载一个普通的Object没有多少区别,因为OSS会为用户管理整个编解码过程。
OSS的服务器端加密编码是Object的一个属性。用户创建一个Object的时候,只需要在Put Object的请求中携带x-oss-server-side-encryption的HTTP Header,并指定其值为AES256,即可以实现该Object的服务器端加密编码存储。目前支持服务器端加密编码的操作包括:

  • Put Object
  • Copy Object
  • Initiate Multipart Upload

细节分析

  • 除了Put Object、Copy Object和Initiate Multipart Upload以外,其他OSS收到的请求中如果出现x-oss-server-side-encryption头,OSS会直接返回HTTP状态码:400;并在消息体内注明错误码是:InvalidArgument。
  • 目前,OSS只支持AES256加密编码算法,如果用户指定x-oss-server-side-encryption头为其他值,OSS会直接返回HTTP状态码:400;并在消息体内注明错误码是:InvalidEncryptionAlgorithmError
  • 通过服务器端加密编码存储的Object,在下述API请求中OSS会返回x-oss-server-side-encryption头,其值为服务器端使用的熵编码加密算法。
    • Put Object
    • Copy Object
    • Initiate Multipart Upload
    • Upload Part
    • Complete Multipart Upload
    • Get Object
    • Head Object

具体实现

本文导读目录
本文导读目录
以上内容是否对您有帮助?