全部產品
Search
文件中心

Object Storage Service:如何?跨帳號KMS加密OSS資源

更新時間:Jul 31, 2024

本文介紹如何通過阿里雲帳號A以KMS加密的方式加密帳號B下的OSS資源。

前提條件

  • 已通過阿里雲帳號B建立Bucket。具體操作,請參見建立儲存空間

  • 已通過阿里雲帳號A在與阿里雲帳號B建立Bucket所在地區建立密鑰。具體操作,請參見建立密鑰

  • 已通過阿里雲帳號A為該帳號下的RAM使用者授予AliyunKMSFullAccess許可權。具體步驟,請參見為RAM使用者授權

操作步驟

  1. 使用阿里雲帳號B以Bucket Policy的方式為阿里雲帳號A下的RAM使用者授予oss:PutObject的許可權。

    1. 使用阿里雲帳號B登入OSS管理主控台

    2. 在左側導覽列,單擊Bucket 列表,然後單擊目標Bucket名稱。

    3. 在左側導覽列,選擇許可權控制 > Bucket 授權策略

    4. Bucket 授權策略頁面的按圖形策略添加頁簽,單擊新增授權

    5. 新增授權面板,按以下說明配置各項參數,然後單擊確定

      配置項

      說明

      授權資源

      選中整個Bucket

      授權使用者

      選中其他帳號,然後輸入阿里雲帳號A下的RAM使用者UID。

      授權操作

      選中進階設定

      效力

      選擇允許

      操作

      下拉選擇oss:PutObject

  2. 通過阿里雲帳號A下的RAM使用者加密阿里雲帳號B下的目標Bucket內的Object。

    通過控制台

    1. 使用阿里雲帳號A下的RAM使用者登入阿里雲控制台。具體操作,請參見RAM使用者登入阿里雲控制台

    2. 使用阿里雲帳號A下的RAM使用者登入OSS上傳檔案頁面。

      OSS上傳檔案頁面連結構成方式為https://oss.console.aliyun.com/bucket/{regionid}/{bucketname}/object/upload。實際使用時,請對應替換Bucket所在的地區(regionid)以及Bucket名稱(bucketname)。

    3. 上傳Object並指定Object的加密方式為KMS,加密金鑰指定為阿里雲帳號A建立的密鑰(即CMK ID)。

      具體步驟,請參見上傳檔案

    通過ossutil

    1. 為阿里雲帳號A下的RAM使用者配置訪問憑證。

      實際使用時,請相應替換endpoint(阿里雲帳號B已建立Bucket對應的endpoint)、accessKeyID以及accessKeySecret(阿里雲帳號A下的RAM使用者Accesskey)資訊。

      [Credentials]
      endpoint = oss-cn-hangzhou.aliyuncs.com
      accessKeyID = LTAI*************
      accessKeySecret = 67DL*******************
    2. 通過阿里雲帳號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******