Article / 文章中心

阿里云对象存储OSS如何配置服务器端加密?

发布时间:2019-11-28 点击数:2466

对象存储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服务器端加密的配置介绍。

阿里云服务器 阿里云代理商