設定金鑰提供者後,具有所需權限的使用者可以建立加密的虛擬機器和磁碟。這些使用者也可以加密現有虛擬機器、解密已加密的虛擬機器,以及將虛擬信賴平台模組 (vTPM) 新增到虛擬機器。

根據金鑰提供者類型,程序流程可能涉及金鑰伺服器、vCenter Server 以及 ESXi 主機。

標準金鑰提供者加密程序流程

在執行加密程序期間,不同 vSphere 元件的相互影響如下。
  1. 當使用者執行加密工作 (例如建立加密的虛擬機器) 時,vCenter Server 會從預設金鑰伺服器請求新金鑰。此金鑰會用作 KEK。
  2. vCenter Server 會儲存金鑰識別碼並將此金鑰傳遞到 ESXi 主機。如果 ESXi 主機屬於某個叢集,則 vCenter Server 會將 KEK 傳送到此叢集中的每個主機。

    此金鑰本身不儲存在 vCenter Server 系統上。僅金鑰識別碼已知。

  3. ESXi 主機會為虛擬機器及其磁碟產生內部金鑰 (DEK)。它僅將內部金鑰保留在記憶體中,並使用 KEK 加密內部金鑰。

    未加密內部金鑰永遠不會儲存在磁碟上。僅儲存已加密的資料。由於 KEK 來自金鑰伺服器,因此主機會繼續使用相同的 KEK。

  4. ESXi 主機使用已加密的內部金鑰加密虛擬機器。

    任何擁有 KEK 以及可以存取已加密金鑰檔案的主機可以針對已加密虛擬機器或磁碟執行作業。

受信任金鑰提供者加密程序流程

vSphere Trust Authority 加密程序流程包括 vSphere Trust Authority 服務、受信任的金鑰提供者、vCenter Server 以及 ESXi 主機。

使用受信任金鑰提供者加密虛擬機器,與使用標準金鑰提供者時的虛擬機器加密使用者體驗類似。vSphere Trust Authority 下的虛擬機器加密會繼續依賴虛擬機器加密儲存區原則或 vTPM 裝置是否存在,以決定何時加密虛擬機器。從 vSphere Client 加密虛擬機器時,仍可以使用預設設定的金鑰提供者 (在 vSphere 6.5 和 6.7 中稱為 KMS 叢集)。此外,仍可以類似方式使用 API 來手動指定金鑰提供者。為 vSphere 6.5 新增的現有密碼編譯權限在 vSphere 7.0 及更新版本中仍與 vSphere Trust Authority 相關。

受信任金鑰提供者的加密程序與標準金鑰提供者之間有一些重要差異:

  • Trust Authority 管理員在設定 vCenter Server 執行個體的金鑰伺服器時不會直接指定資訊,且不會建立金鑰伺服器信任。而是 vSphere Trust Authority 發佈受信任主機可使用的受信任金鑰提供者。

  • vCenter Server 不再將金鑰推送到 ESXi 主機,而是將每個受信任的金鑰提供者視為單一頂層金鑰。
  • 僅受信任的主機可從 Trust Authority 主機申請加密作業。

vSphere Native Key Provider 加密程序流程

vSphere 7.0 Update 2 及更新版本中包括 vSphere Native Key Provider。設定 vSphere Native Key Provider 時,vCenter Server 將主要金鑰推送至叢集中的所有 ESXi 主機。同樣地,如果更新或刪除 vSphere Native Key Provider,則會將變更推送至叢集中的主機。加密程序流程類似於受信任金鑰提供者的工作方式。不同之處在於,vSphere Native Key Provider 會產生金鑰並使用主要金鑰進行封裝,然後將其交還以執行加密。

金鑰伺服器的自訂屬性

金鑰管理互通性通訊協定 (KMIP) 支援新增用於廠商特定目的的自訂屬性。自訂屬性可讓您更明確地識別金鑰伺服器中儲存的金鑰。vCenter Server 會為虛擬機器金鑰和主機金鑰新增下列自訂屬性。

表 1. 虛擬機器加密自訂屬性
自訂屬性
x-Vendor VMware, Inc.
x-Product VMware vSphere
x-Product_Version vCenter Server 版本
x-Component 虛擬機器
x-Name 虛擬機器名稱 (從 ConfigInfo 或 ConfigSpec 收集)
x-Identifier 虛擬機器的執行個體 UUID (從 ConfigInfo 或 ConfigSpec 收集)
表 2. 主機加密自訂屬性
自訂屬性
x-Vendor VMware, Inc.
x-Product VMware vSphere
x-Product_Version vCenter Server 版本
x-Component ESXi 伺服器
x-Name 主機名稱
x-Identifier 主機的硬體 UUID

當金鑰伺服器建立金鑰時,vCenter Server 會新增 x-Vendorx-Productx-Product_Version 屬性。使用金鑰加密虛擬機器或主機時,vCenter Server 會設定 x-Componentx-Identifierx-Name 屬性。您可以在金鑰伺服器使用者介面中檢視這些自訂屬性。請洽詢您的金鑰伺服器廠商。

主機金鑰和虛擬機器金鑰都具有六個自訂屬性。兩個金鑰的 x-Vendorx-Productx-Product_Version 可能相同。這些屬性會在金鑰產生時進行設定。根據金鑰是用於虛擬機器還是主機,它可能會附加 x-Componentx-Identifierx-Name 屬性。

加密金鑰錯誤

如果將金鑰從金鑰伺服器傳送至 ESXi 主機時發生錯誤,vCenter Server 會在事件記錄中針對下列事件產生訊息:

  • 由於主機連線或主機支援問題,將金鑰新增至 ESXi 主機失敗。
  • 由於金鑰伺服器中遺失金鑰,從金鑰伺服器取得金鑰失敗。
  • 由於金鑰伺服器連線,從金鑰伺服器取得金鑰失敗。

解密已加密的虛擬機器

如果您稍後想要解密已加密的虛擬機器,可以變更其儲存區原則。您可以變更虛擬機器和所有磁碟的儲存區原則。如果您想要解密個別元件,請先解密所選磁碟,然後透過變更虛擬機器首頁的儲存區原則來解密虛擬機器。解密每個元件均需要兩個金鑰。請參閱解密已加密的虛擬機器或虛擬磁碟