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