虚拟机管理器将操作系统政策分配应用于虚拟机 (VM) 实例后,系统会生成操作系统政策分配报告。该报告包含应用于给定操作系统政策分配的特定虚拟机的所有操作系统政策的合规性状态。
本文档介绍了以下任务:
- 查看组织或文件夹中所有虚拟机的操作系统政策合规报告。
- 查看指定区域中所有虚拟机的操作系统政策分配报告。这有助于简要了解特定区域的合规性状态。请参阅查看操作系统政策分配报告。
- 查看特定虚拟机的操作系统政策分配。这在查看特定虚拟机的合规性状态时非常有用。请参阅查看操作系统政策分配报告。
准备工作
- 查看 OS Config 配额。
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 查看组织或文件夹中虚拟机的操作系统政策合规性摘要:
-
组织或文件夹的 OSPolicyAssignmentReport Viewer (
roles/osconfig.osPolicyAssignmentReportViewer
) -
组织或文件夹的 OSPolicyAssignment Viewer (
roles/osconfig.osPolicyAssignmentViewer
)
-
组织或文件夹的 OSPolicyAssignmentReport Viewer (
-
查看项目中虚拟机的操作系统政策分配报告:
项目的 OSPolicyAssignmentReport Viewer (
roles/osconfig.osPolicyAssignmentReportViewer
) -
查看组织或文件夹中虚拟机的操作系统政策合规性摘要:
-
osconfig.osPolicyAssignmentReports.searchSummaries
-
osconfig.osPolicyAssignments.searchPolicies
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
- 包含一个或多个已启用和运行虚拟机管理器的虚拟机。
- 包含过去 7 天内运行虚拟机管理器的一台或多台虚拟机,并且提供了操作系统政策合规性数据。
在 Google Cloud 控制台中,转到 Compute Engine > 虚拟机管理器 > 操作系统政策页面。
在 Google Cloud 控制台顶部的项目下拉列表中,选择要查看其操作系统政策合规性摘要的组织或文件夹。
使用以下选项查看操作系统政策合规性数据:
- 如需查看每个项目的操作系统政策合规性摘要,请点击项目标签页。
- 如需查看每个政策的操作系统政策合规性摘要,请点击操作系统政策标签页。
可选:通过使用查询构建器来指定计算操作系统政策合规性摘要的条件。
查看虚拟机的操作系统政策合规性摘要。项目标签页中的表包含每行的项目,如下图所示:
下表列出了符合您在查询构建器中指定的条件的以下信息:
- 项目:组织中至少包含一个虚拟机且已启用虚拟机管理器的项目的名称。
- 虚拟机总数:每个项目中的虚拟机总数。
- 受监控的虚拟机:项目中已启用虚拟机管理器代理,且正在接受政策合规性扫描的虚拟机数量。
- 包含政策的虚拟机数量:至少分配了一项政策的虚拟机数量。
- 合规:所有已分配政策均报告为
COMPLIANT
的虚拟机数量。 - 不合规:至少有一项已分配政策被报告为
NON-COMPLIANT
的虚拟机数量。 - 未知:至少有一项已分配政策被报告为
UNKNOWN
且没有政策报告为NON-COMPLIANT
的虚拟机数量。UNKNOWN
状态是由以下某种原因造成的:- 虚拟机未运行。
- 虚拟机未启用虚拟机管理器代理。
- 在此过程中发生错误。
- 无报告:已分配政策但由于以下某个原因未找到政策合规性报告的虚拟机数量:
- 虚拟机未启用虚拟机管理器代理。
- 合规性扫描正在进行中。报告尚未准备好。
可选:如果要查看操作系统政策合规性摘要表中的特定行,请应用表过滤条件。
例如,如果要查看具有超过 10 个虚拟机的项目的操作系统政策合规性摘要,请将过滤条件选项虚拟机总数设置为
>= 10
。可选:点击虚拟机数量以查看有关处于特定状态的虚拟机的更多详细信息。例如,点击未知列中给定项目的虚拟机数量会打开虚拟机实例标签页,其中列出了该项目中每个虚拟机的未知操作系统政策。
如需了解详情,请参阅查看操作系统政策分配报告。
选择属性。查询构建器支持以下属性:
- 操作系统:指定操作系统的简称,例如
Windows
或Debian
。 - 操作系统版本:指定操作系统版本。例如
21.04
或10.0.22000
。您可以在操作系统版本字符串的末尾指定单个星号 (*
) 以指示部分匹配,例如10*
。 - 虚拟机正在运行:指定是否要查看处于
RUNNING
状态的虚拟机的补丁摘要。 - 政策指纹:指定操作系统政策的唯一政策指纹。设置此属性后,虚拟机管理器仅计算具有指定指纹的操作系统政策的合规性摘要。
- 合规状态:指定政策的某种合规状态:
COMPLIANT
:所有已分配政策均报告为COMPLIANT
的虚拟机NON-COMPLIANT
:至少具有一项已分配政策报告为NON-COMPLIANT
的虚拟机UNKNOWN
:至少具有一项已分配政策报告为UNKNOWN
的虚拟机
- 操作系统:指定操作系统的简称,例如
选择一个属性并指定该属性的值。例如,如果要查看具有特定操作系统的虚拟机的补丁摘要,请选择操作系统。然后,您需要从中选择比较运算符列表。
- 选择一个运算符,例如
==
。 - 在值字段中,指定比较值。例如
Debian
。
- 选择一个运算符,例如
如需添加其他属性,请点击添加条件。
点击搜索。
ZONE
:该虚拟机所在的可用区- 可选:提供以下其中一项:
VM_NAME
:您要查看其操作系统政策分配报告的虚拟机的名称或 IDASSIGNMENT_ID
:您要查看其操作系统政策分配报告的操作系统政策分配的 ID
PROJECT_ID
:您的项目 IDZONE
:虚拟机所在的区域- 可选。提供以下其中一项:
VM_NAME
:要查看其操作系统政策分配报告的虚拟机的名称或 ID。如果不要求,请使用-
作为值。ASSIGNMENT_ID
:要查看其操作系统政策分配报告的操作系统政策分配的 ID。如果不要求,请使用-
作为值。
- 如需查看项目
my-project-12345
和区域us-central1-a
中所有虚拟机的报告,请使用以下 URI:projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/-/report
- 如需查看项目
my-project-12345
和区域us-central1-a
中虚拟机my-test-vm
的报告,请使用以下 URI:projects/my-project-12345/locations/us-central1-a/instances/my-test-vm/osPolicyAssignments/-/report
- 如需查看项目
my-project-12345
和区域us-central1-a
中具有my-test-assignment
操作系统政策分配的所有虚拟机的报告,请使用以下 URI:projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/my-test-assignment/report
如果您使用 VPC Service Controls 保护您的服务,请将 Cloud Asset Inventory 服务添加到允许的服务列表中。如需了解详情,请参阅 VPC 可访问服务。
在 Google Cloud 控制台中,转到操作系统政策 > 虚拟机实例页面。
如需查看特定虚拟机的操作系统政策分配报告,请点击该虚拟机的名称。
查看状态、状态原因和日志字段。日志字段提供了指向 Cloud Logging 信息中心的链接,您可通过它访问在虚拟机上运行的 OS Config 代理的调试日志。
- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
ComplianceState
部分。 - 如需详细了解返回的合规性原因,请查看
OSPolicyResourceCompliance
API 参考文档中的complianceStateReason
字段。
如需解决这些问题,您还可以查看操作系统政策的日志,并进行所需的更新。要查看日志,请参阅虚拟机管理器问题排查。
- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
如需查看特定虚拟机的操作系统政策分配报告,请使用
os-config os-policy-assignment-reports describe
命令。gcloud compute os-config os-policy-assignment-reports describe OS_POLICY_ASSIGNMENT_ID \ --instance=VM_NAME \ --location=ZONE
请替换以下内容:
OS_POLICY_ASSIGNMENT_ID
:您要查看其指定虚拟机的操作系统政策分配的 IDVM_NAME
:您要查看其操作系统政策分配报告的虚拟机的名称或 IDZONE
:该虚拟机所在的可用区
示例
gcloud compute os-config os-policy-assignment-reports describe my-test-assignment1 \ --instance=centos7 \ --location=us-central1-a
输出
instance: centos7 lastRunId: 96a61b92-3e14-4155-a3e8-dd66520f49ae name: projects/1234578882888/locations/us-central1-a/instances/29255009728795105/osPolicyAssignments/my-test-assignment1/report osPolicyAssignment: projects/1234578882888/locations/us-central1-a/osPolicyAssignments/my-test-assignment1t@3428384d-fa61-478e-b7e2-3d5fae74bea3 osPolicyCompliances: – complianceState: UNKNOWN complianceStateReason: os-policies-not-supported-by-agent osPolicyId: setup-repo-and-install-package-policy osPolicyResourceCompliances: – complianceState: UNKNOWN complianceStateReason: os-policy-execution-attempt-failed osPolicyResourceId: setup-repo – complianceState: UNKNOWN complianceStateReason: os-policy-execution-attempt-failed osPolicyResourceId: install-pkg updateTime: '2021-11-02T19:14:34.314831Z'
查看
complianceState
和complianceStateReason
。- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
ComplianceState
部分。 - 如需详细了解返回的合规性原因,请查看
OSPolicyResourceCompliance
API 参考文档中的complianceStateReason
字段。
如需解决这些问题,您还可以查看操作系统政策的日志,并进行所需的更新。要查看日志,请参阅虚拟机管理器问题排查。
- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
在 API 中,创建对
projects.locations.osPolicyAssignments.reports.get
方法的GET
请求。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report
请替换以下内容:
PROJECT_ID
:您的项目 IDZONE
:该虚拟机所在的可用区VM_NAME
:您要查看其操作系统政策分配报告的虚拟机的名称或 IDOS_POLICY_ASSIGNMENT_ID
:您要查看其操作系统政策分配报告的操作系统政策分配的 ID
查看
complianceState
和complianceStateReason
。- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
ComplianceState
部分。 - 如需详细了解返回的合规性原因,请查看
OSPolicyResourceCompliance
API 参考文档中的complianceStateReason
字段。
如需解决这些问题,您还可以查看操作系统政策的日志,并进行所需的更新。要查看日志,请参阅虚拟机管理器问题排查。
- 如需详细了解返回的合规性状态,请查看 API 参考文档中的
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色和权限
如需获得查看操作系统政策合规性数据所需的权限,请让您的管理员授予您以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含查看操作系统政策合规性数据所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
需要具备以下权限才能查看操作系统政策合规性数据:
查看组织或文件夹中所有虚拟机的操作系统政策合规性摘要
您可以使用 Google Cloud 控制台查看组织或文件夹中所有虚拟机的操作系统政策合规性摘要。
虚拟机管理器仅针对满足以下要求之一的项目显示操作系统政策合规性摘要:
如需查看操作系统政策合规性数据,请执行以下操作:
使用查询构建器过滤操作系统政策合规性数据
虚拟机管理器会根据您在查询构建器中指定的条件显示组织或文件夹中项目的虚拟机的操作系统合规性数据。然后,您可以使用操作系统政策合规表中的表过滤条件来过滤显示的数据。
例如,如果您将查询构建器中的
OS
属性设置为Debian
,则虚拟机管理器会显示使用 Debian 操作系统的虚拟机的操作系统政策合规数据。如果您想要查看特定项目的合规性数据,请使用表过滤条件指定项目 ID。如需在项目标签页的查询构建器中设置查询,请执行以下操作:
查看操作系统政策分配报告
如需查看操作系统政策分配报告,您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST。
使用此过程查看指定位置的操作系统政策分配报告列表。
控制台
gcloud
如需查看操作系统政策分配报告列表,请使用
os-config os-policy-assignment-reports list
命令。如需查看特定位置的所有操作系统政策分配报告,请运行以下命令。将
ZONE
替换为虚拟机所在的区域。gcloud compute os-config os-policy-assignment-reports list --location=ZONE
示例命令和输出(所有虚拟机)
gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY centos7 my-test-assignment1 us-central1-a 2021-11-02T18:14:03.908341Z 0/1 policies compliant centos7 my-test-assignment2 us-central1-a 2021-11-02T18:14:03.908341Z 0/1 policies compliant rhel-8 my-test-assignment1 us-central1-a 2021-11-02T19:13:28.468290Z 0/1 policies compliant rhel-8 my-test-assignment2 us-central1-a 2021-11-02T19:13:28.468290Z 0/1 policies compliant my-centos my-test-assignment1 us-central1-a 2021-11-02T18:14:37.418883Z 1/1 policies compliant my-centos my-test-assignment2 us-central1-a 2021-11-02T18:14:37.418883Z 0/1 policies compliant deb-10 my-test-assignment2 us-central1-a 2021-11-02T19:00:11.777748Z 0/1 policies compliant windows my-test-assignment2 us-central1-a 2021-11-02T18:24:07.935711Z 0/1 policies compliant windows my-test-assignment3 us-central1-a 2021-11-02T18:24:07.935711Z 0/1 policies compliant sles15 my-test-assignment2 us-central1-a 2021-11-02T18:38:07.335276Z 0/1 policies compliant
您还可以使用
--instance
或--assignment-id
等可选标志来过滤结果。gcloud compute os-config os-policy-assignment-reports list --location=ZONE \ [--instance=VM_NAME | --assignment-id=ASSIGNMENT_ID]
请替换以下内容:
命令和输出示例(特定虚拟机)
gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \ --instance=my-centos INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY my-centos my-test-assignment1 us-central1-a 2021-11-02T18:14:37.418883Z 1/1 policies compliant my-centos my-test-assignment2 us-central1-a 2021-11-02T18:14:37.418883Z 0/1 policies compliant
命令和输出示例(特定分配)
gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \ --assignment-id=my-test-assignment1 INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY centos7 my-test-assignment1 us-central1-a 2021-11-02T18:14:03.908341Z 0/1 policies compliant rhel-8 my-test-assignment1 us-central1-a 2021-11-02T19:13:28.468290Z 0/1 policies compliant my-centos my-test-assignment1 us-central1-a 2021-11-02T18:14:37.418883Z 1/1 policies compliant
REST
在 API 中,创建对
projects.locations.osPolicyAssignments.reports.list
方法的GET
请求。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report
请替换以下内容:
示例:
查看操作系统政策分配报告
使用此过程可以详细查看与特定虚拟机关联的操作系统政策分配报告。
控制台
gcloud
REST
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-03。
-