本文介绍如何通过阿里云账号A以KMS加密的方式加密账号B下的OSS资源。
前提条件
操作步骤
使用阿里云账号B以Bucket Policy的方式为阿里云账号A下的RAM用户授予
oss:PutObject
的权限。使用阿里云账号B登录OSS管理控制台。
在左侧导航栏,单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择
。在Bucket 授权策略页面的按图形策略添加页签,单击新增授权。
在新增授权面板,按以下说明配置各项参数,然后单击确定。
配置项
说明
授权资源
选中整个Bucket。
授权用户
选中其他账号,然后输入阿里云账号A下的RAM用户UID。
授权操作
选中高级设置。
效力
选择允许。
操作
下拉选择
oss:PutObject
。
通过阿里云账号A下的RAM用户加密阿里云账号B下的目标Bucket内的Object。
通过控制台
使用阿里云账号A下的RAM用户登录阿里云控制台。具体操作,请参见RAM用户登录阿里云控制台。
使用阿里云账号A下的RAM用户登录OSS上传文件页面。
OSS上传文件页面链接构成方式为
https://oss.console.aliyun.com/bucket/{regionid}/{bucketname}/object/upload
。实际使用时,请对应替换Bucket所在的地域(regionid)以及Bucket名称(bucketname)。上传Object并指定Object的加密方式为KMS,加密密钥指定为阿里云账号A创建的密钥(即CMK ID)。
具体步骤,请参见上传文件。
通过ossutil
为阿里云账号A下的RAM用户配置访问凭证。
实际使用时,请相应替换
endpoint
(阿里云账号B已创建Bucket对应的endpoint)、accessKeyID
以及accessKeySecret
(阿里云账号A下的RAM用户Accesskey)信息。[Credentials] endpoint = oss-cn-hangzhou.aliyuncs.com accessKeyID = LTAI************* accessKeySecret = 67DL*******************
通过阿里云账号A下的RAM用户执行以下命令,将文件examplefile.txt上传到阿里云账号B下的examplebucket,并指定文件的加密方式为KMS,加密算法为AES256,加密密钥指定为阿里云账号A创建的密钥(即CMK ID)。
ossutil cp examplefile.txt oss://examplebucket --meta=x-oss-server-side-encryption:KMS#x-oss-server-side-encryption-key-id:7bd6e2fe-cd0e-483e-acb0-f4b9e1******
如果阿里云账号A下的RAM用户用于上传资源到阿里云账号的CMK ID的加密算法为SM4,则上传时需要通过
x-oss-server-side-data-encryption
指定SM4的加密算法,示例如下:ossutil cp examplefile.txt oss://examplebucket --meta=x-oss-server-side-encryption:KMS#x-oss-server-side-data-encryption:SM4#x-oss-server-side-encryption-key-id:7bd6e2fe-cd0e-483e-acb0-f4b9e1******