本文說明如何在 VM 執行個體上啟用及停用Shielded VM 選項。如要查看哪些映像檔支援 Shielded VM 功能,請參閱「OS 映像檔安全性功能」。
總覽
在 Shielded VM 執行個體上,Compute Engine 預設會啟用虛擬信任平台模組 (vTPM) 和完整性監控選項。如果您停用 vTPM,Compute Engine 會一併停用完整性監控功能,這是因為完整性監控功能需要使用測量啟動功能所收集的資料。
Compute Engine 預設不會啟用「安全啟動」,因為未簽署的驅動程式和其他低階軟體可能不相容。安全啟動功能會驗證所有啟動元件的簽章。如果簽章未通過驗證,就會停止啟動程序,這樣即可確保系統執行的軟體均真實可信。這有助於防止核心惡意軟體 (例如 Rootkit 或 Bootkit) 在 VM 重新啟動後持續存在。如果能確保安全啟動不會導致代表性測試 VM 無法啟動,且適合您的工作負載,Google 建議啟用這項功能。
限制
即使 Compute Engine VM 執行個體支援安全啟動,載入 Compute Engine VM 的映像檔可能不支援。值得注意的是,雖然大多數 Linux 發行版本都支援近期 x86 映像檔的「安全啟動」,但 ARM64 預設不一定支援。許多 Linux 映像檔都已設定為在啟用安全啟動時,拒絕載入未簽署的樹狀結構外核心模組建構版本。這類問題最常影響 GPU 驅動程式,但有時也會影響需要核心模組的安全監控工具。
這項工作需要的權限
如要執行這項工作,您必須具備以下權限:
- VM 執行個體的
compute.instances.updateShieldedInstanceConfig權限
在 VM 執行個體上修改 Shielded VM 選項
如要修改 Shielded VM 選項,請執行下列程序:
控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
按一下執行個體名稱,開啟「VM instance details」(VM 執行個體詳細資料) 頁面。
按一下「停止」停止 VM。如果沒有「停止」選項,請依序按一下 「更多動作」> 「停止」。
執行個體停止運作之後,請按一下「編輯」。
在「受防護的 VM」專區,修改受防護的 VM 選項:
切換「啟用安全啟動功能」即可啟用。Compute Engine 預設不會啟用安全啟動,因為未簽署的驅動程式和其他低階軟體可能不相容。建議您盡可能啟用安全啟動功能。
切換「啟用 vTPM」即可停用虛擬信任平台模組 (vTPM)。根據預設,Compute Engine 會啟用虛擬信任平台模組 (vTPM)。
切換「啟用完整性監控功能」即可停用完整性監控功能。根據預設,Compute Engine 會啟用完整性監控。
按一下 [儲存]。
點選 [開始] 即可啟動執行個體。
gcloud
停止執行個體:
gcloud compute instances stop VM_NAME
將
VM_NAME替換為要停止的 VM 名稱。更新受防護的 VM 選項:
gcloud compute instances update VM_NAME \ [--[no-]shielded-secure-boot] \ [--[no-]shielded-vtpm] \ [--[no-]shielded-integrity-monitoring]將
VM_NAME替換為要更新 Shielded VM 選項的 VM 名稱。shielded-secure-boot:Compute Engine 預設不會啟用安全啟動,因為未簽署的驅動程式和其他低階軟體可能不相容。建議您盡可能啟用安全啟動模式。- 使用
--shielded-secure-boot旗標啟用安全啟動功能 (建議)。 - 使用
--no-shielded-secure-boot停用安全啟動功能。
shielded-vtpm:根據預設,系統會啟用虛擬信任平台模組 (vTPM)。+ 使用--shielded-vtpm啟用 (預設) + 使用--no-shielded-vtpm旗標停用shielded-integrity-monitoring: 預設會啟用完整性監控。 + 使用--shielded-integrity-monitoring啟用 (預設) + 使用--no-shielded-integrity-monitoring旗標停用。- 使用
啟動執行個體:
gcloud compute instances start VM_NAME
將
VM_NAME替換為要啟動的 VM 名稱。
REST
停止執行個體:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_ID:包含要停止的 VM 的專案ZONE:包含要停止的 VM 的可用區VM_NAME:要停止的 VM
使用
instances.updateShieldedInstanceConfig在執行個體上啟用或停用 Shielded VM 選項:PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig { "enableSecureBoot": {true|false}, "enableVtpm": {true|false}, "enableIntegrityMonitoring": {true|false} }更改下列內容:
PROJECT_ID:包含要啟用或停用 Shielded VM 選項的 VM 專案。ZONE:包含 VM 的可用區,可啟用或停用 Shielded VM 選項。VM_NAME:要啟用或停用 Shielded VM 選項的 VM。
enableSecureBoot:Compute Engine 預設不會啟用安全啟動,因為未簽署的驅動程式和其他低階軟體可能不相容。建議您盡可能啟用安全啟動模式。enableVtpm:Compute Engine 預設會啟用虛擬信任平台模組 (vTPM)。enableIntegrityMonitoring:Compute Engine 預設會啟用完整性監控。啟動執行個體:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
更改下列內容:
PROJECT_ID:包含要啟動 VM 的專案ZONE:包含要啟動 VM 的可用區VM_NAME:要啟動的 VM
後續步驟
- 進一步瞭解受防護的 VM 提供的安全功能。
- 進一步瞭解如何監控 Shielded VM 執行個體的完整性。