完整性监控是安全强化型虚拟机和机密虚拟机的一项功能,可帮助您了解虚拟机实例的状态并作出决策。它同时使用 Cloud Monitoring 和 Cloud Logging。
新的机密虚拟机实例中默认启用完整性监控。如需了解如何更改完整性监控设置(包括切换安全启动、vTPM 和完整性监控本身),请参阅修改安全强化型虚拟机选项。
查看完整性报告
您可以使用 Cloud Monitoring 查看完整性验证事件并为其设置提醒,使用 Cloud Logging 查看这些事件的详细信息。
如需了解如何查看完整性验证事件并针对其设置提醒,请参阅使用 Monitoring 监控虚拟机启动完整性。
查看启动证明报告事件
每当基于 AMD SEV 的机密虚拟机实例启动时,系统都会将启动证明报告事件作为虚拟机完整性验证事件的一部分生成。
报告事件包含以下实用信息:
integrityEvaluationPassed
:虚拟机监视器根据 SEV 计算的测量结果执行完整性检查的结果。sevPolicy
:为此虚拟机设置的 SEV 政策位。政策位在机密虚拟机实例启动时设置,以强制执行限制条件,如是否启用调试模式。
如需在完整性报告中查看启动证明报告事件,请完成以下步骤:
在 Google Cloud 控制台中,前往虚拟机实例页面。
在“虚拟机实例”表中,找到您的机密虚拟机实例,然后点击其名称。
在日志部分,点击 Cloud Logging。
系统会打开 Cloud Logging,并在完整性报告中填充指定时间范围内的完整性验证事件。您可能需要更改日志的时间范围(位于搜索所有字段框旁边),以捕获启动事件。
找到类型为
cloud_integrity.IntegrityEvent
且bootCounter
为0
的报告,然后将其展开。如需查看特定字段的数据,请点击
展开箭头。如需展开所有字段,请点击展开嵌套字段。在
jsonPayload
键中,找到sevLaunchAttestationReportEvent
键以查看报告事件。展开即可下微件,查看典型完整性报告示例。完整性报告示例
{ insertId: "0" jsonPayload: { @type: "type.googleapis.com/cloud_integrity.IntegrityEvent" bootCounter: "0" sevLaunchAttestationReportEvent: { integrityEvaluationPassed: true sevPolicy: { debugEnabled: false domainOnly: false esRequired: false keySharingAllowed: false minApiMajor: 0 minApiMinor: 0 sendAllowed: true sevOnly: true } } } logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Fshielded_vm_integrity" receiveTimestamp: "2023-08-06T23:43:09.422303036Z" resource: { labels: { instance_id: "7638570949330964203" (instance_name: VM_INSTANCE_NAME) project_id: "PROJECT_ID" zone: "VM_ZONE" } type: "gce_instance" } severity: "NOTICE" timestamp: "2023-08-06T23:43:07.407511786Z" }
使用安全强化型虚拟机监控启动完整性
您还可以利用安全强化型虚拟机的安全启动和测量启动功能来监控机密虚拟机实例的完整性。
安全启动
安全启动会验证所有启动组件的数字签名,并在签名验证失败时结束启动过程,从而有助于确保机密虚拟机实例的系统仅运行正版软件。由 Google 的证书授权机构签名和验证的固件会为安全启动建立信任根,而信任根会验证虚拟机的身份并检查其是否属于您指定的项目和地区。
安全启动默认处于停用状态。如需了解如何启用此功能以及获取相关详情,请参阅安全启动。
测量启动
测量启动由机密虚拟机实例的虚拟可信平台模块 (vTPM) 启用,可帮助防止对实例进行恶意修改。测量启动会监控机密虚拟机实例的引导加载程序、内核和启动驱动程序的完整性。
在机密虚拟机实例的测量启动期间,使用供应商专用事件 GceNonHostInfo
(其对正在使用的 SEV 进行编码。)扩展 PCR[0]
(平台控制寄存器)
新的机密虚拟机实例中默认启用测量启动。详细了解测量启动。