Azure 磁碟加密疑難排解指南

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

本指南適用於組織採用 Azure 磁碟加密的 IT 專業人員、資訊安全性分析師和雲端系統管理員。 本文旨在協助磁碟加密相關問題的疑難排解。

在採取任何這些步驟之前,請先確定想要加密的 VM 是支援的 VM 大小與作業系統,且已符合所有先決條件:

疑難排解「無法傳送 DiskEncryptionData」

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

  • 將 Key Vault 存放於與虛擬機器不同的區域和/或訂用帳戶中
  • Key Vault 中的進階存取原則未設定為允許 Azure 磁碟加密
  • 金鑰加密金鑰在使用中時,已在 Key Vault 中停用或刪除
  • Key Vault 的資源識別碼或 URL 或金鑰加密金鑰 (KEK) 發生錯字
  • 命名 VM、資料磁碟或金鑰時使用了特殊字元。 亦即 _VMName、élite 等
  • 加密案例不受支援
  • 發生網路問題,導致 VM/主機無法存取所需資源

建議

  • 確定 Key Vault 存在的區域和訂用帳戶與虛擬機器相同
  • 確定您已正確設定金鑰保存庫進階存取原則
  • 如果您使用 KEK,請確定金鑰存在且已在 Key Vault 中啟用
  • 檢查 VM 名稱、資料磁碟和金鑰是否遵循金鑰保存庫資源命名限制
  • 檢查 PowerShell 或 CLI 命令中 Key Vault 名稱或 KEK 名稱中是否有任何錯字

注意

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 磁碟加密進行疑難排解

當連線能力受防火牆、Proxy 需求或網路安全性群組 (NSG) 設定限制時,擴充功能執行所需工作的能力可能會受到中斷。 這個中斷會產生狀態訊息 (例如「無法在 VM 上使用擴充功能狀態」)。在預期的情節中,無法完成加密。 以下各節有一些常見的防火牆問題,您可能需要進行調查。

網路安全性群組

任何套用的網路安全性群組設定仍然必須允許端點,從而符合磁碟加密的記載網路設定必要條件

防火牆後的 Azure Key Vault

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

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 磁碟加密需要此元件。 此元件用來從作業系統磁碟區中分割系統磁碟區,在 VM 的存留時間內僅會進行一次。 在之後的加密作業期間,不需要這些二進位檔。

若要解決這個問題,請將下列 4 個檔案從 Windows Server 2016 資料中心 VM 複製到 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
    
  2. 此命令會建立一個 550MB 系統磁碟分割。 重新啟動系統。

  3. 使用 DiskPart 來檢查磁碟區,然後再繼續作業。

例如:

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

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

即使已在 VM 內解密磁碟,入口網站也可能會將其顯示為加密。 當使用低層級命令直接從 VM 內解密磁碟,而不是使用較高層級的 Azure 磁碟加密管理命令時,就會發生這種情況。 較高層級的命令不只會從 VM 內解密磁碟,也會在 VM 外部更新與 VM 建立關聯的重要平台層級加密設定和延伸模組設定。 如果內外未保持一致,則平台將無法回報加密狀態或適當地佈建 VM。

若要停用 PowerShell 的 Azure 磁碟加密,請於 Remove-AzVMDiskEncryptionExtension 後接著使用 Disable-AzVMDiskEncryption。 若在停用加密之前執行 Remove-AzVMDiskEncryptionExtension 將會導致失敗。

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

下一步

在本文件中,您已深入了解 Azure 磁碟加密中的一些常見問題,以及如何進行疑難排解。 如需此服務和其功能的相關資訊,請參閱下列文章: