添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
稳重的匕首  ·  Azure Key Vault 復原概觀 ...·  6 天前    · 
率性的山楂  ·  错误Galer群集:无法从: ...·  8 月前    · 
忐忑的机器猫  ·  君临臣下漫画 - 抖音·  1 年前    · 
帅呆的柠檬  ·  BOX·  1 年前    · 
斯文的数据线  ·  03 ORA系列:ORA-00942 ...·  1 年前    · 

本文涵蓋 Azure Key Vault 的兩項復原功能:軟刪除和防止清除。 本文件會概述這兩項功能,並示範如何透過 Azure 入口網站、Azure CLI 和 Azure PowerShell 來管理這兩項功能。

如果金鑰庫未啟用軟刪除保護,刪除金鑰會導致永久性刪除。 強烈建議客戶透過 Azure 原則 開啟其保存庫的虛刪除強制功能。

復原選項概觀

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

自動備援和故障轉移 :Key Vault 會自動跨區域復寫數據,並在中斷期間處理故障轉移 - 請參閱 Azure Key Vault 可用性和備援 軟刪除和清除保護 (本文所述):防止意外或惡意刪除您的儲存庫或儲存庫物件 手動備份和還原 :針對個別秘密、密鑰和憑證 - 請參閱 Azure Key Vault 備份

這篇文章介紹“軟刪除”和“清除保護”功能,以協助防止意外或惡意的刪除。

  • Azure 訂用帳戶 - 建立免費帳戶

  • Azure PowerShell。

    Azure CLI

  • Key Vault - 您可以使用 Azure 入口網站 Azure CLI Azure PowerShell 來建立

  • 使用者需要有下列權限 (於訂用帳戶層級) 才能在已經虛刪除的保存庫上執行作業:

    軟刪除和清除保護是兩種不同的金鑰庫還原功能。

    虛刪除 的設計目的,是為了避免金鑰保存庫和金鑰、祕密以及金鑰保存庫內部儲存的憑證遭到意外刪除。 虛刪除就像是資源回收筒。 當您刪除金鑰保存庫或金鑰保存庫物件時,用戶可設定的保留期間或預設值為 90 天仍可復原。 您也可以 清除 (永久刪除) 處於虛刪除狀態的金鑰保存庫,讓您重新建立具有相同名稱的金鑰保存庫和金鑰保存庫物件。 復原和刪除金鑰保存庫與物件都需要較高的存取原則權限。 虛刪除一經啟用,便無法再加以停用。

    請務必注意,金鑰保管庫的名稱在全球範圍內是唯一的,因此您無法建立與處於軟刪除狀態的金鑰保管庫同名的金鑰保管庫。 同樣地,金鑰、秘密和憑證的名稱在金鑰保存庫內也是獨一無二的。 在建立祕密、金鑰或憑證時,其名稱無法和處於虛刪除狀態的其他項目相同。

    清除保護 的設計目的,是為了避免心懷惡意的內部人員刪除金鑰保存庫、金鑰、祕密和憑證。 將其視為一個具有時間鎖定功能的回收站。 您可以在可設定的保留期間內的任何時間點復原項目。 在保留期間走完之前,則無法永久刪除或清除金鑰保存庫。 一旦保留期限過後,金鑰保存庫或金鑰保存庫物件就會自動清除。

    清除保護的設計目的,是為了讓所有管理員角色或權限都無法覆寫、停用或規避清除保護。 當啟用清除保護時,包括 Microsoft 在內的任何人都無法禁用或取消。 這表示您必須復原已刪除的金鑰保存庫,或先等候保留期間走完,然後才能重複使用金鑰保存庫名稱。

    強烈建議針對生產環境使用這些功能。

    如需虛刪除的詳細資訊,請參閱 Azure Key Vault 虛刪除概觀

  • 安全性主體也需要「取得」和「清單」功能,才能執行大部分的作業。
  • 在左側瀏覽窗格中,已醒目提示 [存取原則]。在 [存取原則] 上,顯示 [秘鍵設定] 下拉式清單,已選取四個項目:[取得]、[列出]、[復原] 和 [清除]。

    列出、復原或清除已經虛刪除的金鑰保存庫

  • 登入 Azure 入口網站。
  • 選取頁面頂端的搜尋列。
  • 搜索 “Key Vault” 服務。 不要選取單一金鑰保存庫。
  • 在畫面頂端,選取 [管理已刪除的保存庫] 選項
  • 內容窗格會在畫面右側開啟。
  • 選取您的訂用帳戶。
  • 如果金鑰保存庫已經處於虛刪除狀態,便會顯示在右側的內容窗格中。
  • 如果保存庫太多,可以選取內容窗格底部的 [載入更多],或使用 CLI 或 PowerShell 來取得結果。
  • 在找到所要復原或清除的保存庫後,請選取該保存庫旁的核取方塊。
  • 如果您想要復原金鑰保存庫,請選取內容窗格底部的 [復原] 選項。
  • 如果您想要永久刪除金鑰保存庫,請選取 [清除] 選項。
  • On Key vaults, the Manage deleted vaults option is highlighted. 在金鑰保存庫上,[管理已刪除的保存庫] 選項已高亮顯示。

    在 [管理已刪除的金鑰保存庫] 畫面上,僅有的金鑰保存庫已被選取且醒目顯示,[復原] 按鈕也已被醒目顯示。

    列出、復原或清除已經虛刪除的祕密、金鑰和憑證

  • 登入 Azure 入口網站。
  • 選取您的金鑰保存庫。
  • 選取與要管理的祕密類型 (金鑰、祕密或憑證) 對應的刀鋒視窗。
  • 在畫面頂端,選取 [管理已刪除的密鑰、秘密或憑證]
  • 內容窗格會出現在畫面右側。
  • 如果秘密、金鑰或憑證未出現在清單中,就表示其並未處於已經虛刪除的狀態。
  • 選取您想要管理的秘密、金鑰或憑證。
  • 在內容窗格的底部,選取 [復原] 或 [清除] 選項。
  • 在 [鍵] 上,已醒目顯示 [管理已刪除的鍵] 選項。

    金鑰保存庫 (CLI)

  • 確認金鑰保存庫是否已啟用虛刪除功能

    az keyvault show --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
    
  • 在金鑰保存庫上啟用虛刪除功能

    依預設,所有新的金鑰保存庫都會啟用虛刪除功能。 如果您目前有未啟用虛刪除功能的金鑰保存庫,請使用下列命令來啟用虛刪除功能。

    az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-soft-delete true
    
  • 刪除金鑰保存庫 (如果已啟用虛刪除功能,則可加以復原)

    az keyvault delete --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
    
  • 列出所有已經虛刪除的金鑰保存庫

    az keyvault list-deleted --subscription {SUBSCRIPTION ID} --resource-type vault
    
  • 復原已經虛刪除的金鑰保存庫

    az keyvault recover --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
    
  • 清除虛刪除的金鑰保存庫 (警告!這種操作會永久刪除金鑰儲存庫)

    az keyvault purge --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
    
  • 在金鑰保存庫上啟用清除保護

    az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-purge-protection true
    

    憑證 (CLI)

  • 授與可供清除和復原憑證的存取權

    az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}  --certificate-permissions recover purge
    
    az keyvault certificate delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
    
  • 列出已刪除的憑證

    az keyvault certificate list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
    
  • 復原已刪除的憑證

    az keyvault certificate recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
    
  • 清除軟刪除的憑證 (警告!此操作將永久刪除您的憑證)

    az keyvault certificate purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
    

    金鑰 (CLI)

  • 授予清除和復原金鑰的權限

    az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}  --key-permissions recover purge
    
    az keyvault key delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
    
  • 列出已刪除的金鑰

    az keyvault key list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
    
  • 復原已刪除的金鑰

    az keyvault key recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
    
  • 清除虛刪除的金鑰 (警告!這種操作會永久刪除金鑰)

    az keyvault key purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
    

    秘密 (CLI)

  • 授與可供清除和復原祕密的存取權

    az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}  --secret-permissions recover purge
    
    az keyvault secret delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
    
  • 列出已刪除的機密

    az keyvault secret list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
    
  • 復原已刪除的秘密

    az keyvault secret recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
    
  • 清除已軟刪除的機密 (警告!這種操作會永久刪除您的機密)

    az keyvault secret purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
    
  • 復原已經虛刪除的金鑰保存庫

    Undo-AzKeyVaultRemoval -VaultName ContosoVault -ResourceGroupName ContosoRG -Location westus
    
  • 清除已軟刪除的金鑰保存庫 (警告!此操作將永久刪除您的金鑰保存庫)

    Remove-AzKeyVault -VaultName ContosoVault -InRemovedState -Location westus
    
  • 在金鑰保存庫上啟用清除保護

    Update-AzKeyVault -VaultName ContosoVault -ResourceGroupName ContosoRG -EnablePurgeProtection
    

    憑證 (PowerShell)

  • 授予恢復和清除憑證的權限

    Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToCertificates recover,purge
    
    Remove-AzKeyVaultCertificate -VaultName ContosoVault -Name 'MyCert'
    
  • 列出金鑰保存庫中的所有已刪除憑證

    Get-AzKeyVaultCertificate -VaultName ContosoVault -InRemovedState
    
  • 復原處於已刪除狀態的憑證

    Undo-AzKeyVaultCertificateRemoval -VaultName ContosoVault -Name 'MyCert'
    
  • 清除虛刪除的憑證 (警告!這種操作會永久刪除憑證)

    Remove-AzKeyVaultcertificate -VaultName ContosoVault -Name 'MyCert' -InRemovedState
    

    金鑰 (PowerShell)

  • 授與權限以復原和清除金鑰

    Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToKeys recover,purge
    
    Remove-AzKeyVaultKey -VaultName ContosoVault -Name 'MyKey'
    
  • 列出金鑰保存庫中所有已刪除的金鑰

    Get-AzKeyVaultKey -VaultName ContosoVault -InRemovedState
    
  • 復原已經虛刪除的金鑰

    Undo-AzKeyVaultKeyRemoval -VaultName ContosoVault -Name ContosoFirstKey
    
  • 清除虛刪除的金鑰 (警告!這種操作會永久刪除金鑰)

    Remove-AzKeyVaultKey -VaultName ContosoVault -Name ContosoFirstKey -InRemovedState
    

    祕密 (PowerShell)

  • 授予取回和消除機密的權限

    Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToSecrets recover,purge
    
  • 刪除名為 SQLPassword 的祕密

    Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword
    
  • 列出金鑰保存庫中的所有已刪除祕密

    Get-AzKeyVaultSecret -VaultName ContosoVault -InRemovedState
    
  • 復原處於已刪除狀態的祕密

    Undo-AzKeyVaultSecretRemoval -VaultName ContosoVault -Name SQLPassword
    
  • 清除已刪除狀態的祕密 (警告!這種操作會永久刪除金鑰)

    Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword -InRemovedState 
    
  •