对象存储OSS支持在服务器端对上传到存储空间的数据进行加密,目前支持AES256和KMS两种加密方式。您可以为存储空间配置默认加密方式,数据上传后,OSS以存储空间默认的加密方式加密数据。您也可以上传数据时在请求中指定数据加密的方式,OSS将以上传请求中指定的加密方式加密数据。
下面我们先来看一下,如何为存储空间指定默认的加密方式。
首先,我们登录OSS管理控制台。
为存储空间指定默认加密方式有两种方法:一、在创建存储空间时,在服务器端加密栏选择指定的服务器端加密方式。
二、当存储空间已经创建完成后,单击存储空间名称,在基础设置中找到服务器端加密区域,单击设置后设置默认的加密方式。“无”表示不启用服务器端加密功能。
AES256加密
AES256表示使用OSS完全托管的加密方式进行加密,OSS将使用AES256算法为每个对象使用不同的密钥进行加密。作为额外的保护,它将使用定期轮转的主密钥,对加密密钥本身进行加密。
KMS表示使用KMS托管密钥进行加密,这种加密方式需要先进入KMS控制台开通KMS服务。
# KMS加密
KMS加密有两种,一种是选择KMS后直接保存,OSS将使用默认托管的CMK生成不同的密钥来加密不同的对象,并且在下载时自动解密。
另一种是选择KMS后在下拉菜单选择指定的CMK ID,OSS将使用指定的CMK生成不同的密钥来加密不同的对象,并将CMK ID记录到对象的元数据中。只有具有解密权限的用户下载对象时会自动解密。
选择指定的CMK ID前需先进入CMK控制台,创建一个和当前存储空间处于同一地域的密钥。创建密钥时,高级选项中可以选择密钥材料来源,阿里云KMS表示使用阿里云提供的BYOK材料创建;若选择外部,则需上传您自己的BYOK材料。
秘钥创建完成后,再次回到OSS控制台即可选择对应的CMK ID了。
服务器端加密配置完成后,OSS会根据配置的加密方式自动加密新上传的数据,对于已有数据,OSS不会进行加密。
如果您仅需要加密部分数据的话,可以不配置存储空间默认加密方式,而是在每次上传数据时携带加密请求,OSS将根据加密请求加密指定的数据。
OSSUtil工具上传并加密数据
下面我们介绍一下通过ossutil工具上传并加密数据。ossutill的安装及使用方法可参考官网文档。
在使用ossutill上传数据时,可以在命令中附带加密选项,并取值为AES256或KMS。
我们上传一个图片文件,声明加密方式为AES256,上传成功后使用stat命令查看文件meta信息。可以看到该文件的属性中有这样一项。
说明该文件已经被服务器端加密存储,加密方式为AES256。
现在再尝试使用KMS加密。将刚刚命令中的AES256修改为KMS,当使用KMS加密时,OSS会为每个文件生成一个加密密钥。
可以看到密钥ID。以上就是对象存储OSS服务器端加密的配置介绍。
更多信息可参见: 对象存储 OSS > 控制台用户指南 > 管理存储空间 > 设置服务器端加密
原文地址:https://aliyunnew.com/a/How-does-Ali-Cloud-Object-Storage-OSS-configure-serverside-encryption.html