共用方式為


Azure Key Vault 備份和還原

本文件說明如何備份儲存在金鑰保存庫中的秘密、金鑰和憑證。 備份的目的是要在萬一您無法存取金鑰保存庫時,為您提供所有秘密的離線複本。

概觀

Azure Key Vault 提供多個選項,以確保保存庫數據的可用性和復原性:

本文著重於 Key Vault 內個別物件的手動備份和還原作業。

使用備份的時機

Azure Key Vault 會自動提供功能,協助您維護可用性並防止資料遺失。 只有在您有重要的商務理由時,才會備份秘密。 備份金鑰保存庫中的秘密,可能會導致操作上的困難,例如在秘密到期或輪替時維護多個記錄、權限和備份。

請考慮在這些案例中使用備份:

  • 您必須在金鑰保存庫或 Azure 區域之間移動物件
  • 基於法規或合規性原因,您想要線下複製您的機密文件
  • 您使用的是不支援自動跨區域複寫的區域(巴西南部、巴西東南部或美國西部 3)
  • 您需要保護以防止意外刪除特定物件

在大部分情況下,Key Vault 的內建備援和虛刪除功能可提供足夠的保護,而不需要手動備份。 如需詳細資訊,請參閱 Azure Key Vault 可用性與備援

局限性

這很重要

Key Vault 不支援備份超過 500 個過去版本的密鑰、秘密或憑證物件,而且嘗試這樣做可能會導致錯誤。 您無法刪除舊版的金鑰、秘密或憑證。

Key Vault 目前不提供在單一作業中備份整個密鑰保存庫的方法,而且必須個別備份密鑰、秘密和憑證。

也請考慮下列問題:

  • 備份具有多個版本的祕密可能會造成逾時錯誤。
  • 備份會建立某一特定時間點的快照。 秘密可能會在備份期間更新,導致出現加密金鑰不符的情形。
  • 如果超過金鑰保存庫服務的每秒要求數限制,您的金鑰保存庫會受到節流,並導致備份失敗。

設計考量

備份儲存金鑰保存庫物件時 (例如祕密、金鑰或憑證),備份作業會以加密 Blob 的形式下載物件。 此 Blob 無法在 Azure 外部解密。 若要從此 Blob 取得可用資料,您必須將 Blob 還原至相同 Azure 訂用帳戶和 Azure 地理位置內的金鑰保存庫。

先決條件

若要備份金鑰保存庫物件,您必須具有:

  • Azure 訂用帳戶上的參與者層級權限或更高權限。
  • 主要金鑰保存庫,其中包含您想要備份的秘密。
  • 將在其中還原祕密的次要金鑰保存庫。

從 Azure 入口網站備份和還原

遵循本節中的步驟,使用 Azure 入口網站來備份和還原物件。

備份

  1. 前往 Azure 入口網站。

  2. 選取您的金鑰保存庫。

  3. 移至您想要備份的物件 (秘密、金鑰或憑證)。

    螢幕快照顯示如何在金鑰保存庫中選取 [金鑰] 設定和某個物件。

  4. 選取物件。

  5. 選取 [下載備份]

    此螢幕快照顯示在金鑰保存庫中選取 [下載備份] 按鈕的位置。

  6. 選擇 下載

    顯示在金鑰保存庫中選取 [下載] 按鈕的位置螢幕快照。

  7. 將加密的 Blob 儲存在安全的位置。

還原

  1. 前往 Azure 入口網站。

  2. 選取您的金鑰保存庫。

  3. 移至至您想要還原的物件類型 (秘密、金鑰或憑證)。

  4. 選取 [還原備份]

    螢幕擷取畫面,顯示要選取金鑰保存庫中還原備份的位置 。

  5. 移至您儲存加密 Blob 的位置。

  6. 請選擇 [確定]

從 Azure CLI 或 Azure PowerShell 備份和還原

## Log in to Azure
az login

## Set your subscription
az account set --subscription {AZURE SUBSCRIPTION ID}

## Register Key Vault as a provider
az provider register -n Microsoft.KeyVault

## Back up a certificate in Key Vault
az keyvault certificate backup --file {File Path} --name {Certificate Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

## Back up a key in Key Vault
az keyvault key backup --file {File Path} --name {Key Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

## Back up a secret in Key Vault
az keyvault secret backup --file {File Path} --name {Secret Name} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

## Restore a certificate in Key Vault
az keyvault certificate restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

## Restore a key in Key Vault
az keyvault key restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

## Restore a secret in Key Vault
az keyvault secret restore --file {File Path} --vault-name {Key Vault Name} --subscription {SUBSCRIPTION ID}

後續步驟