本文共 3711 字,大约阅读时间需要 12 分钟。
使用服务器端加密方式保护静态数据,即OSS将用户数据写入数据中心内的磁盘时,会在对象级别加密数据,并且在访问这些数据时自动解密。用户只需要验证请求是否拥有访问权限。当前OSS支持如下两种服务端加密方式(注意:您不能对同一对象同时应用两种不同类型的服务器端加密方式):
PS:如下重点介绍SSE-KMS加密方式:
KMS(Key Management Service)是阿里云提供的一款安全、易用的密钥管理系统。当用户上传object时,在请求中携带x-oss-server-side-encryption的HTTP Header,并指定其值为KMS。OSS支持使用默认的CMK加密对象,同时也支持使用用户指定的CMK 进行加密。
如上是SSE-KMS服务端加密的逻辑示意图。关于Customer Master Key的生成方式有多种,如下一一介绍:
【补充说明】:
1.目前以下操作,支持在请求中携带这些x-oss-server-side-encryption Header头:
2.通过服务器端加密存储的object时,以下API请求中OSS会返回x-oss-server-side-encryption头:
D:\5-AK账号\ossutil64>ossutil64.exe stat oss://test-hongkong-2025/01.txtACL : defaultAccept-Ranges : bytesContent-Length : 62Content-Md5 : k2GA4LeqHvVpQvBfnleNOg==Content-Type : text/plainEtag : 936180E0B7AA1EF56942F05F9E578D3ALast-Modified : 2018-10-24 20:41:54 +0800 CSTOwner : 1416614965936597X-Oss-Hash-Crc64ecma : 9888192182077127097X-Oss-Object-Type : NormalX-Oss-Storage-Class : Standard1.257000(s) elapsed
如上所示,我们上传了1个明文文件;
2.【step2】:在香港region创建KMS密钥
由于KMS加密服务不支持跨region操作。因此,我们在香港region创建1个CMK,并且导入外部密钥材料。如下所示:3.【step3】:使用指定的CMK ID加密上传对象
为了简化演示过程,我们通过python将【step1】中上传的明文文件01.txt的加密属性修改为使用指定的CMK ID进行加密;#PYTHON 脚本如下# -*- coding: utf-8 -*-import oss2# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。auth = oss2.Auth('', ' ')# Endpoint以杭州为例,其它Region请按实际情况填写。bucket = oss2.Bucket(auth, 'http://oss-cn-hongkong.aliyuncs.com', 'test-hongkong-2025')bucket.update_object_meta('01.txt',{'x-oss-server-side-encryption':'KMS','x-oss-server-side-encryption-key-id': '33701a45-6723-4a04-a367-68c060382652'})
4.【step4】:查看使用指定CMK ID 加密对象的元数据信息
如下,我们使用ossutil工具查看:D:\5-AK账号\ossutil64>ossutil64.exe stat oss://test-hongkong-2025/01.txtACL : defaultAccept-Ranges : bytesContent-Length : 62Content-Md5 : k2GA4LeqHvVpQvBfnleNOg==Content-Type : text/plainEtag : 936180E0B7AA1EF56942F05F9E578D3ALast-Modified : 2018-10-24 20:46:39 +0800 CSTOwner : 1416614965936597X-Oss-Hash-Crc64ecma : 9888192182077127097X-Oss-Object-Type : NormalX-Oss-Server-Side-Encryption: KMSX-Oss-Server-Side-Encryption-Key-Id: 33701a45-6723-4a04-a367-68c060382652X-Oss-Storage-Class : Standard1.411000(s) elapsed
转载地址:http://qexsa.baihongyu.com/