Azure Key Vault 備份與還原

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

概觀

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

Key Vault 會在災害案例中維護可用性,並會自動將要求容錯移轉至配對區域,而不需要使用者介入。 如需詳細資訊,請參閱 Azure Key Vault 可用性與備援

如果您想要防止意外或惡意刪除秘密,請在金鑰保存庫上設定虛刪除和清除保護功能。 如需詳細資訊,請參閱 Azure Key Vault 虛刪除概觀

限制

重要

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

Key Vault 目前不提供透過單一作業備份整個金鑰保存庫的方法,且金鑰、祕密和憑證都必須單獨備份。

還需考慮下列問題:

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

設計考量

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

必要條件

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

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

從 Azure 入口網站備份和還原

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

備份

  1. 前往 Azure 入口網站。

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

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

    Screenshot showing where to select the Keys setting and an object in a key vault.

  4. 選取物件。

  5. 選取 [下載備份]

    Screenshot showing where to select the Download Backup button in a key vault.

  6. 選取 [下載]

    Screenshot showing where to select the Download button in a key vault.

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

還原

  1. 前往 Azure 入口網站。

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

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

  4. 選取 [還原備份]

    Screenshot showing where to select Restore Backup in a key vault.

  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}

下一步