# 現象 從 VM log 會看到以下 error ![image](https://hackmd.io/_uploads/SkPyeiHB6.png) 點選 Open In Logs Explorer, 展開 policyMeasurements 和 actualMeasurements 區塊, 會發現有些 PCR 的值不同, 所以產生這二個 error event ![image](https://hackmd.io/_uploads/SyPeesrHa.png) ![image](https://hackmd.io/_uploads/rkb-eiBSa.png) # 原因 如果 VM 開機後的內容, 和上次 VM 內容不一樣, 會出現此 error # 說明 Shielded VM (安全強化型虛擬機器) 可讓您的 Compute Engine 虛擬機器執行個體具有可驗證的完整性,因此可以確信您的執行個體未受到啟動級或核心級惡意軟體或 rootkit 的危害。 其中 earlyBootReportEvent 和 lateBootReportEvent 為完整性監控事件 - earlyBootReportEvent:標識前期啟動序列的完整性檢查是否通過,並提供基準和最近啟動序列(進行比較以作出判定)中 PCR 值的詳細資訊。 - lateBootReportEvent:標識後期啟動序列的完整性檢查是否通過,並提供基準和最近啟動序列(進行比較以作出判定)中 PCR 值的詳細資訊。 # 解決方法 1. 想要檢查 VM 每次開機的完整性, 請在某一版內容不會變動的 VM , 執行以下 command, 更新 integrity policy baseline 到此版本 VM (my-instance 改成自己的 VM 名稱) gcloud compute instances update my-instance \ --shielded-learn-integrity-policy 2. 不想檢查 VM 每次開機的完整性, 請修改 VM 設定 - 在 Shielded VM -> 不要勾選 Integrity Monitoring # 參考資料 https://cloud.google.com/compute/shielded-vm/docs/integrity-monitoring#diagnosing-failure