Azure 磁碟加密疑難排解指南

這很重要

Azure 磁碟加密預定於 2028 年 9 月 15 日退休。 在此之前,您可以繼續使用 Azure 磁碟加密,不會中斷。 2028 年 9 月 15 日,啟用 ADE 的工作負載仍可繼續運行,但加密磁碟在虛擬機重啟後將無法解鎖,導致服務中斷。

對於新虛擬機,可以在主機上使用 加密 ,或考慮 機密虛擬機大小搭配作業系統磁碟加密 來處理機密運算工作負載。 所有啟用 ADE 的虛擬機(包括備份)必須在退休日前遷移至主機加密,以避免服務中斷。 詳情請參見「 從 Azure 磁碟加密遷移到主機加密 」。

適用於:✔️ Windows VM ✔️ 彈性擴展集

本指南適用於使用 Azure 磁碟加密的 IT 專業人員、資訊安全分析師和雲端系統管理員。 請使用本文來排查磁碟加密問題。

在採取這些步驟之前,請確保你想加密的虛擬機大小與 作業系統都在支援 範圍內,並且符合所有前提條件:

疑難排解「無法傳送 DiskEncryptionData」

加密 VM 失敗並出現錯誤訊息「無法傳送 DiskEncryptionData...」時,通常是下列其中一種情況所造成:

  • 金鑰保存庫 存在於與虛擬機不同的區域或訂用帳戶中
  • 金鑰保存庫 中的進階存取原則未設定為允許 Azure 磁碟加密
  • 金鑰加密金鑰在金鑰庫中被停用或刪除
  • 金鑰保存庫或金鑰加密金鑰(KEK)的資源 ID 或 URL 中有輸入錯誤
  • 特殊字元用於 VM、資料磁碟或金鑰的名稱。 例如,“_VMName” 或 “élite”。
  • 不支援此加密情境
  • 網路問題會使虛擬機或主機無法存取所需的資源

解決問題的建議

附註

參數值的 disk-encryption-keyvault 語法是完整的識別符字串: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
參數值的 key-encryption-key 語法是KEK的完整URI,例如: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

針對防火牆後方的 Azure 磁碟加密進行疑難排解

當連線受到防火牆、代理需求或網路安全群組(NSG)設定限制時,擴充功能可能無法執行所需的任務。 這種中斷可能導致出現狀態訊息,例如「虛擬機上無法提供擴展狀態」。在典型情況下,加密不會完成。 接下來的章節將介紹一些常見的防火牆問題供你調查。

網路安全性群組

任何網路安全群組的設定仍必須允許端點符合磁碟加密所需的 網路設定條件 。

防火牆後方的 Azure Key Vault

使用 Microsoft Entra 認證啟用加密時,目標 VM 必須允許連線至 Microsoft Entra 端點和 金鑰保存庫 端點。 目前的 Microsoft Entra 驗證端點列在 Microsoft 365 URL 與 IP 位址範圍文件的第 56 和 59 小節。 金鑰保存庫 的相關說明請參閱 在防火牆後方存取 Azure Key Vault。

Azure 執行個體中繼資料服務

VM 必須能夠存取 Azure 執行個體中繼資料服務端點 (169.254.169.254),以及用來與 Azure 平台資源通訊的虛擬公用 IP 位址 (168.63.129.16)。 不支援會變更傳送至這些位址之本機 HTTP 流量的 Proxy 設定,例如新增 X-Forwarded-For 標頭。

針對 Windows Server 2016 Server Core 進行疑難排解

在 Windows Server 2016 Server Core 上, bdehdcfg 元件預設無法使用。 Azure 磁碟加密需要此元件。 它用於將系統磁碟區與操作系統磁碟區分割開來,這項操作僅在虛擬機器的使用期間進行一次。 這些元件二進位檔在後續加密操作中不再需要。

為了解決這個問題,請將這四個檔案從 Windows Server 2016 資料中心虛擬機複製到同一 Server Core 的地點:

\windows\system32\bdehdcfg.exe
\windows\system32\bdehdcfglib.dll
\windows\system32\en-US\bdehdcfglib.dll.mui
\windows\system32\en-US\bdehdcfg.exe.mui
  1. 執行下列命令:

    bdehdcfg.exe -target default
    

1. This command creates a 550 MB system partition. Restart the system.

1. Use DiskPart to check the volumes. Then continue.

For example:

```output
DISKPART> list vol

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     C                NTFS   Partition    126 GB  Healthy    Boot
Volume 1                      NTFS   Partition    550 MB  Healthy    System
Volume 2     D   Temporary S  NTFS   Partition     13 GB  Healthy    Pagefile

針對加密狀態進行疑難排解

入口網站可能會顯示磁碟已加密,即使它在虛擬機內是未加密的。 當使用低階指令直接從虛擬機內部解密磁碟,而非使用較高層級的 Azure 磁碟加密 管理指令時,可能會發生此狀態。 較高階指令會從虛擬機內部解密磁碟,並更新與虛擬機相關的重要平台層級加密設定與擴充功能設定。 如果這些設定沒有保持一致,平台就無法正常回報加密狀態或正確配置虛擬機。

要使用 PowerShell 停用 Azure 磁碟加密,請使用 Disable-AzVMDiskEncryption,接著是 Remove-AzVMDiskEncryptionExtension。 在關閉加密前執行 Remove-AzVMDiskEncryptionExtension 會失敗。

要使用 CLI 停用 Azure 磁碟加密,請使用 az vm encryption disable。

後續步驟

本文說明常見的 Azure 磁碟加密 問題及其故障排除方法。 欲了解更多關於此服務及其功能的資訊,請參閱以下文章: