对象存储OSS支持服务器端加密功能。上传文件(Object)时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。
使用场景
OSS通过服务器端加密机制,提供静态数据保护。适合于对于文件存储有高安全性或者合规性要求的应用场景。例如,深度学习样本文件的存储、在线协作类文档数据的存储。
注意事项
- 无法使用Bucket的默认加密方式自动加密镜像回源的文件。
- 同一个Object在同一时间内仅可以使用一种服务器端加密方式。
- 如果配置了Bucket加密,仍然可以在上传或拷贝Object时单独对Object配置加密方式,且以Object配置的加密方式为准。详情请参见PutObject。
加密方式
OSS针对不同使用场景提供了两种服务器端加密方式,您可以根据实际使用场景选用。
加密方式 |
功能描述 |
使用场景 |
注意事项 |
费用说明 |
使用KMS托管密钥进行加解密(SSE-KMS) |
使用KMS托管的默认CMK(Customer Master Key)或指定CMK进行加解密操作。数据无需通过网络发送到KMS服务端进行加解密。 |
因安全合规的要求,需要使用自管理、可指定的密钥。 |
- 用于加密Object的密钥也会被加密,并写入Object的元信息中。
- KMS托管密钥的服务器端加密方式仅加密Object数据,不加密Object的元数据。
|
在KMS服务侧产生少量的KMS密钥请求费用。费用详情,请参见KMS计费标准。 |
使用OSS完全托管密钥进行加解密(SSE-OSS) |
使用OSS完全托管的密钥加密每个Object。为了提升安全性,OSS还会使用定期轮转的主密钥对加密密钥本身进行加密。 |
仅需要基础的加密能力,对密钥无自管理需求。 |
无 |
免费 |
开启方式
您可以通过以下两种方式在OSS控制台上开启服务器端加密功能:
方式一:创建Bucket时开启服务器端加密功能
- 登录OSS管理控制台。
- 单击Bucket列表,之后单击创建Bucket。
- 在创建Bucket页面填写各项参数。
其中,
服务器端加密区域配置参数说明如下:
- 服务端加密方式:选择Object的加密方式。
- 加密算法:可选择AES256或SM4加密算法。
- 加密密钥:服务端加密方式选择KMS时,可配置此项。参数说明如下:
- alias/acs/oss:使用默认托管的CMK生成不同的密钥来加密不同的Object,并且在Object被下载时自动解密。
- CMK ID:使用指定的CMK生成不同的密钥来加密不同的Object,并将加密Object的CMK ID记录到Object的元信息中,具有解密权限的用户下载Object时会自动解密。选择指定的CMK
ID前,您需在KMS管理控制台创建一个与Bucket处于相同地域的普通密钥或外部密钥。详情请参见导入密钥材料。
其他参数请参见创建存储空间。
- 单击确定。
方式二:为已创建的Bucket开启服务器端加密
- 登录OSS管理控制台。
- 单击。
- 在服务器端加密区域,单击设置。
参数说明如下:
- 服务端加密方式:选择Object的加密方式。
- 加密算法:可选择AES256或SM4加密算法。
- 加密密钥:服务端加密方式选择KMS时,可配置此项。参数说明如下:
- alias/acs/oss:使用默认托管的CMK生成不同的密钥来加密不同的Object,并且在Object被下载时自动解密。
- CMK ID:使用指定的CMK生成不同的密钥来加密不同的Object,并将加密Object的CMK ID记录到Object的元信息中,具有解密权限的用户下载Object时会自动解密。选择指定的CMK
ID前,您需在KMS管理控制台创建一个与Bucket处于相同地域的普通密钥或外部密钥。详情请参见导入密钥材料。
- 单击保存。
注意 开启或修改Bucket默认加密方式不会影响Bucket中已有文件的加密配置。