本文介紹如何通過阿里云賬號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******