為便於更高效地為您提供優質服務,部分老舊地區和可用性區域的基礎設定需要升級改造,如果您收到了部分地區升級遷移通知,請您及時遷移KMS的密鑰和憑據。本文介紹如何跨地區遷移密鑰。
雲產品加密
根據云產品加密資料遷移方案完成資料移轉,具體請查看對應雲產品的官方文檔。
自建應用加密
遷移前請先關閉密鑰輪轉功能。具體操作,請參見密鑰輪轉。
KMS軟體密鑰管理執行個體中的密鑰
請在目標地區購買KMS軟體密鑰管理執行個體後,將密鑰通過備份恢複的方式遷移過去。以將A地區的KMS執行個體A中的密鑰,遷移到B地區的KMS執行個體B中為例進行介紹。
在B地區,建立並啟用KMS執行個體B。具體操作,請參見購買和啟用KMS執行個體。
在A地區,備份執行個體A的資料。
說明KMS在每個地區免費提供一個備份執行個體,支援備份一個KMS軟體密鑰管理執行個體的資料。如果您備份多個KMS軟體密鑰管理執行個體,需要額外購買備份執行個體。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
在备份管理頁面,定位到目標備份執行個體,單擊操作列的启用。
在启用备份對話方塊中,备份KMS实例選擇執行個體A,备份别名輸入自訂別名,然後單擊確認。
說明備份資料約需要5分鐘的時間,執行個體中的資源越多,所需要的備份時間越長。
將執行個體A的資料,恢複到執行個體B中。
境內資料恢複
頁面上方選擇地區A,在备份管理頁面,單擊備份執行個體操作列的查看数据。
在全量密钥頁簽勾選您要遷移的密鑰,在頁面下方單擊批量恢复。
在恢复备份数据面板,選擇恢複到B地區的KMS執行個體B中,單擊確定。
跨境資料恢複
頁面上方選擇地區A,在备份管理頁面,單擊備份執行個體操作列的下载。
選擇备份日期後,單擊确定,請儲存数据加密KEY並下載备份数据。
在頁面上方選擇地區B,在在备份管理頁面,單擊上传备份。
輸入数据解密KEY、备份名称(自訂的備份別名)後,單擊確定選擇執行個體A的備份檔案,完成上傳。
在備份列表中,定位到您上傳的備份檔案,單擊操作列的查看数据。
在全量密钥、增量密钥、轮转密钥頁簽,單擊操作列的数据恢复,選擇恢复目标实例後,單擊確定。
修改應用,調用B地區的KMS。
操作類型
說明
管控類操作
通過阿里雲SDK實現,需要將endpoint修改為B地區的KMS服務Endpoint。KMS服務Endpoint,請參見地區和接入地址。
密碼運算操作
通過KMS執行個體SDK實現,您需要替換代碼中的ClientKey、執行個體CA認證等。
在B地區建立訪問KMS執行個體B的應用存取點。具體操作,請參見建立應用存取點。
說明建立完成後,請您儲存以下內容:
ClientKey檔案:即應用身份憑證內容(ClientKeyContent),檔案名稱預設為
clientKey_****.json。ClientKey口令:即憑證口令(ClientKeyPassword),檔案名稱預設為
clientKey_****_Password.txt。KMS執行個體CA認證:檔案名稱預設為PrivateKmsCA_kst-******.pem。
修改代碼。
使用KMS執行個體B及新建立的ClientKey等內容替換KMS執行個體SDK初始化參數。以KMS執行個體SDK(Java)為例,初始化Client執行個體時,您需要修改如下內容:
clientKeyFilePath或clientKeyContent:替換為新的ClientKey檔案。clientKeyPass:替換為新的ClientKey口令。endpoint:替換為KMS執行個體B的網域名稱地址,格式為kst-hzz659dfeee864za2****.cryptoservice.kms.aliyuncs.com。caCertPath或caCert:替換為KMS執行個體B的CA認證。
KMS硬體密鑰管理執行個體中的密鑰、非KMS執行個體中的密鑰
KMS不支援遷移這部分密鑰,請參考下述方案實現解除對源地區密鑰的依賴。
密鑰用途為加密解密(ENCRYPT/DECRYPT)
不管您使用對稱金鑰,還是非對稱金鑰,整體流程類似。
在源地區將資料密文、資料密鑰密文全部解密。
將解密後的資料、資料密鑰遷移到目標地區。
在目標地區購買KMS執行個體,並使用KMS執行個體中的密鑰進行加密。
購買並啟用KMS執行個體。具體操作,請參見產品選型、購買和啟用KMS執行個體。
使用KMS執行個體加密自建應用的資料。具體操作,請參見使用KMS密鑰線上加密和解密資料、使用KMS密鑰進行信封加密。
密鑰用途為簽名驗簽(SIGN/VERIFY)
在源地區下載主要金鑰的公開金鑰,儲存該公開金鑰直至不再需要使用該公開金鑰進行簽名驗證。
登入Key Management Service控制台,參照下圖查看並儲存公開金鑰。

在目標地區購買並啟用KMS執行個體。具體操作,請參見產品選型、購買和啟用KMS執行個體。
使用KMS執行個體SDK進行簽名驗簽。具體操作,請參見KMS執行個體SDK。
非KMS執行個體中的密鑰,具體是指哪些?
登入Key Management Service控制台,在頂部功能表列選擇地區資訊後,單擊密钥管理頁面,所有在默认密钥頁簽中展示的即非KMS執行個體中的密鑰。
如果您使用的是KMS 3.0版本,預設密鑰頁簽會展示一個主要金鑰,多個服務密鑰。如果您使用的舊版本KMS,默认密钥頁簽會展示您所有的主要金鑰(即下圖紅框中的主要金鑰),但這些密鑰您在新版控制台僅可查看,如您需要修改密鑰屬性,請返回舊版控制台操作。
