阿里云对象存储OSS支持在服务器端对上传到存储空间(Bucket)的数据进行加密(Server-Side Encryption),对持久化在OSS上的数据进行加密保护。

背景信息

上传数据时,OSS对收到的用户数据进行加密,然后再将得到的加密数据持久化保存下来;下载数据时,OSS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。
说明 服务器端加密功能详情请参见服务器端加密
您可以通过以下两种方式在OSS控制台上开启服务器端加密功能:

操作视频

观看以下视频,快速了解如何配置服务器端加密。

方式一:创建Bucket时开启服务器端加密功能

  1. 登录OSS管理控制台
  2. 概览页右侧单击创建Bucket
  3. 创建Bucket 对话框填写各项参数。
    其中,服务器端加密栏选择您希望使用的加密方式,其他参数,请参见创建存储空间
    • :不启用服务器端加密功能。
    • AES256:使用AES256加密每个对象。OSS会为每个对象使用不同的密钥进行加密,作为额外的保护,它将使用定期轮转的主密钥对加密密钥本身进行加密。
    • KMS:可以使用指定的CMK ID或者KMS默认托管的CMK进行加解密操作。KMS加密详细的介绍请参考使用 KMS 托管密钥进行加解密
      • alias/acs/oss:使用默认托管的CMK生成不同的密钥来加密不同的对象,并且在下载时自动解密。
      • CMK ID:使用指定的CMK生成不同的密钥来加密不同的对象,并将加密Object的CMK ID记录到对象的元数据中,因此具有解密权限的用户下载对象时会自动解密。选择指定的CMK ID前,需在KMS管理控制台创建一个与Bucket相同地域的普通密钥或外部密钥。目前此项公测中,请联系技术支持技术支持添加权限。
      注意
      • 使用KMS加密方式前,需开通KMS服务
      • 使用KMS密钥功能时会产生少量的KMS密钥API调用费用,费用详情请参考KMS计费标准
  4. 单击确定

方式二:在基础设置页签开启服务器端加密功能

  1. 登录OSS管理控制台
  2. 进入目标Bucket,找到服务器端加密设置。
    • 新版控制台
      1. 单击Bucket列表,之后单击目标Bucket名称。
      2. 单击基础设置 > 服务器端加密
    • 旧版控制台
      1. 在左侧Bucket列表,单击目标Bucket名称。
      2. 单击基础设置页签,找到服务器端加密区域。
  3. 单击设置
    • :不启用服务器端加密功能。
    • AES256:使用AES256加密每个对象。OSS会为每个对象使用不同的密钥进行加密,作为额外的保护,它将使用定期轮转的主密钥对加密密钥本身进行加密。
    • KMS:可以使用指定的CMK ID或者KMS默认托管的CMK进行加解密操作。KMS加密详细的介绍请参考使用 KMS 托管密钥进行加解密
      • alias/acs/oss:使用默认托管的CMK生成不同的密钥来加密不同的对象,并且在下载时自动解密。
      • CMK ID:使用指定的CMK生成不同的密钥来加密不同的对象,并将加密Object的CMK ID记录到对象的元数据中,因此具有解密权限的用户下载对象时会自动解密。选择指定的CMK ID前,需在KMS管理控制台创建一个与Bucket相同地域的普通密钥或外部密钥。目前此项公测中,请联系技术支持技术支持添加权限。
      注意
      • 使用KMS加密方式前,需开通KMS服务
      • 使用KMS密钥功能时会产生少量的KMS密钥API调用费用,费用详情请参考KMS计费标准
  4. 单击保存
    注意 开启或修改Bucket默认加密方式不会对Bucket内已有文件添加或修改加密方式。