本页面介绍了如何使用虚拟机管理器中的政策编排程序功能,跨文件夹或组织中的不同项目和可用区创建、更新或删除操作系统政策资源。
准备工作
- 查看操作系统政策和操作系统政策分配任务。
- 查看 OS Config 配额。
- 确保您满足使用政策编排程序的前提条件。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Trusted Cloud by S3NS 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 在本地客户端上,创建或下载操作系统政策文件。该文件必须是 JSON 或 YAML 文件。如需详细了解如何创建操作系统政策,或者查看示例操作系统政策,请参阅操作系统政策。
在 Trusted Cloud 控制台中,前往操作系统政策页面。
点击 Trusted Cloud 控制台操作栏中的项目选择器,然后选择要在其中创建政策编排程序的项目、文件夹或组织。
点击创建政策编排程序。
为政策编排程序指定名称和说明。请参阅资源命名惯例。虚拟机管理器会为政策编排程序分配唯一的编排程序 ID。如有需要,您可以修改此 ID。
在操作系统政策部分中,上传操作系统政策文件。
可选:在状态部分中,选择以下选项之一以指定政策编排程序的行为:
ACTIVE
:创建后,政策编排程序会立即执行操作。STOPPED
:采用此状态创建的政策编排程序不会立即执行任何操作。您以后可以修改政策编排程序以更改其状态。
在操作字段中,选择 UPSERT 操作。
在编排范围部分中,指定要在其中部署操作系统政策的文件夹和项目。您只能在这些字段中输入项目编号和文件夹编号,例如
123456,7654321
。选择包含您要应用操作系统政策的虚拟机的可用区。或者,点击全选,以将操作系统政策更改应用于所有可用区中的资源。
在目标虚拟机实例部分中,指定要应用操作系统政策的目标虚拟机。
- 选择操作系统系列。
您可以通过指定包含和排除标签来进一步过滤虚拟机。
例如,您可以在测试环境中选择全部 Ubuntu 虚拟机,并通过指定以下内容来排除运行 Google Kubernetes Engine 的虚拟机:
- 操作系统系列:
ubuntu
- 包含:
env:test
、env:staging
- 排除:
goog-gke-node
- 操作系统系列:
为操作系统政策分配指定发布计划。
- 指定波次规模(也称为中断预算)。例如:10%。
- 指定等待时间。例如,15 分钟。
点击创建。
创建或下载 JSON 或 YAML 格式的操作系统政策分配资源。如需详细了解此文件和示例政策分配任务,请参阅操作系统政策分配任务。
使用
os-config policy-orchestrators create
命令在指定范围内创建和发布操作系统政策分配任务。ORCHESTRATOR_NAME
:政策编排程序的名称。 请参阅资源命名惯例。OS_POLICY_ASSIGNMENT_FILE
:您在上一步中创建的操作系统政策分配文件的绝对路径。POLICY_ID
:政策编排程序的唯一 ID。如果您未指定值,政策编排程序会为编排程序资源分配一个唯一 ID。QUOTA_PROJECT_ID
:配额或结算项目的项目 ID。ORCHESTRATOR_NAME
:政策编排程序的名称。 请参阅资源命名惯例。FOLDER_NUMBER
:您要创建政策编排程序的文件夹的编号。OS_POLICY_ASSIGNMENT_FILE
:您在上一步中创建的操作系统政策分配文件的绝对路径。POLICY_ID
:政策编排程序的唯一 ID。如果您未指定值,政策编排程序会为编排程序资源分配一个唯一 ID。PROJECT_NUMBERS
:您要为其应用操作系统政策分配任务的项目列表。您必须指定项目编号,即项目的唯一数字 ID。QUOTA_PROJECT_ID
:配额或结算项目的项目 ID。ORCHESTRATOR_NAME
:政策编排程序的名称。 请参阅资源命名惯例。FOLDER_NUMBER
:您要创建政策编排程序的文件夹的编号。OS_POLICY_ASSIGNMENT_FILE
:您在上一步中创建的操作系统政策分配文件的绝对路径。POLICY_ID
:政策编排程序的唯一 ID。如果您未指定值,政策编排程序会为编排程序资源分配一个唯一 ID。PROJECT_NUMBERS
:您要为其应用操作系统政策分配任务的项目列表。您必须指定项目编号,即项目的唯一数字 ID。创建或下载操作系统政策分配文件。该文件必须是 JSON 文件。如需详细了解如何创建操作系统政策分配任务,或者查看示例操作系统政策分配任务,请参阅操作系统政策分配任务。
根据您创建政策编排程序的范围,使用以下方法之一:
PROJECT_NUMBER
:您要在其中创建政策编排程序的项目的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: folders.locations.global.policyOrchestrators
。- 将示例转换为 JSON
发出以下请求:
POST https://osconfig.googleapis.com/v2/projects/123456/locations/global/policyOrchestrators { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
QUOTA_PROJECT_ID
:配额或结算项目的 ID。FOLDER_NUMBER
:您要在其中创建政策编排程序的文件夹的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: folders.locations.global.policyOrchestrators
。- 将示例转换为 JSON
发出以下请求:
POST https://osconfig.googleapis.com/v2/folders/123456/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
QUOTA_PROJECT_ID
:配额或结算项目的 ID。ORGANIZATION_NUMBER
:您要在其中创建政策编排程序的组织的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: organizations.locations.global.policyOrchestrators
。- 将示例转换为 JSON
发出以下请求:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
- 在本地客户端上,创建或下载操作系统政策文件。该文件必须是 JSON 或 YAML 文件。如需详细了解如何创建操作系统政策,或者查看示例操作系统政策,请参阅操作系统政策。
在 Trusted Cloud 控制台中,前往操作系统政策页面。
点击 Trusted Cloud 控制台操作栏中的项目选择器,然后选择要在其中创建政策编排程序的项目、文件夹或组织。
点击创建政策编排程序。
为政策编排程序指定名称和说明。请参阅资源命名惯例。虚拟机管理器会为政策编排程序分配唯一的编排程序 ID。如有需要,您可以修改此 ID。
在操作系统政策部分中,选择并上传操作系统政策文件。
可选:在状态部分中,选择以下选项之一以指定政策编排程序的行为:
ACTIVE
:创建后,政策编排程序会立即执行操作。STOPPED
:采用此状态创建的政策编排程序不会立即执行任何操作。您以后可以修改政策编排程序以更改其状态。
在操作字段中,选择删除操作。
在编排范围部分中,指定要在其中部署操作系统政策的文件夹和项目。您只能在这些字段中输入项目编号和文件夹编号,例如
123456,7654321
。选择包含您要应用操作系统政策的虚拟机的可用区。
在目标虚拟机实例部分中,指定要应用操作系统政策的目标虚拟机。
- 选择操作系统系列。
您可以通过指定包含和排除标签来进一步过滤虚拟机。
例如,您可以在测试环境中选择全部 Ubuntu 虚拟机,并通过指定以下内容来排除运行 Google Kubernetes Engine 的虚拟机:
- 操作系统系列:
ubuntu
- 包含:
env:test
、env:staging
- 排除:
goog-gke-node
- 操作系统系列:
为操作系统政策分配指定发布计划。
- 指定波次规模(也称为中断预算)。例如:10%。
- 指定等待时间。例如,15 分钟。
点击创建。
ORCHESTRATOR_NAME
:政策编排程序的名称。OS_POLICY_ASSIGNMENT_FILE
:操作系统政策分配文件的绝对路径。POLICY_ID
:操作系统政策编排程序资源的政策 ID。QUOTA_PROJECT_ID
:配额或结算项目的 ID。ORCHESTRATOR_NAME
:政策编排程序的名称。FOLDER_NUMBER
:您要从中删除操作系统政策资源的文件夹的数字 ID。POLICY_ID
:操作系统政策编排程序资源的政策 ID。QUOTA_PROJECT_ID
:配额或结算项目的 ID。ORCHESTRATOR_NAME
:政策编排程序的名称。ORGANIZATION_NUMBER
:您要从中删除操作系统政策资源的组织的数字 ID。POLICY_ID
:操作系统政策编排程序资源的政策 ID。PROJECT_NUMBER
:您要在其中创建政策编排程序的项目的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: folders.locations.global.policyOrchestrators
。QUOTA_PROJECT_ID
:配额或结算项目的 ID。FOLDER_NUMBER
:您要从中删除操作系统政策资源的文件夹的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义政策 ID、编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: folders.locations.global.policyOrchestrators
。QUOTA_PROJECT_ID
:配额或结算项目的 ID。ORGANIZATION_NUMBER
:您要从中删除操作系统政策资源的组织的数字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策编排程序对象,用于定义政策 ID、编排程序范围、编排的资源和编排状态。如需详细了解参数和格式,请参阅Resource: organizations.locations.global.policyOrchestrators
。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Trusted Cloud 身份验证文档中的使用 REST 时进行身份验证。
跨项目和可用区创建或更新操作系统政策分配
您可以创建政策编排程序,以将操作系统政策应用于项目、文件夹或组织中所选的资源。
控制台
如需创建政策编排程序并在文件夹中应用操作系统政策分配,请执行以下操作:
gcloud
如需创建政策编排程序,请完成以下步骤:
项目
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \
替换以下内容:
示例
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \
文件夹
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --folder=FOLDER_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERS
替换以下内容:
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890
组织
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERS
替换以下内容:
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890
REST
如需创建政策编排程序,请完成以下步骤:
项目
向
projects.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,粘贴上一步中的操作系统政策分配任务规范。
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
例如,如需创建操作系统政策分配任务(使用示例操作系统政策分配任务),以安装从 Cloud Storage 存储桶下载的 Windows MSI,请完成以下步骤:
文件夹
向
folders.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,粘贴上一步中的操作系统政策分配任务规范。
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
例如,如需创建操作系统政策分配任务(使用示例操作系统政策分配任务),以安装从 Cloud Storage 存储桶下载的 Windows MSI,请完成以下步骤:
组织
向
organizations.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,粘贴上一步中的操作系统政策分配任务规范。
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators \ -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
例如,如需创建操作系统政策分配任务(使用示例操作系统政策分配任务),以安装从 Cloud Storage 存储桶下载的 Windows MSI,请完成以下步骤:
删除多个项目的操作系统政策分配任务
您可以使用政策编排程序删除文件夹或组织中多个项目的操作系统政策,方法是指定操作系统政策资源的唯一政策 ID。
控制台
如需删除文件夹中的操作系统政策,请执行以下操作:
gcloud
如需使用政策编排程序从多个项目中删除操作系统政策,请使用
os-config policy-orchestrators create
命令,并为与操作系统政策分配相关联的policy-id
指定操作delete
。项目
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_FILE \ --policy-id=POLICY_ID \ --action=delete
替换以下内容:
示例
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
文件夹
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=delete
替换以下内容:
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-id=my-policy \ --action=delete
组织
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=delete
替换以下内容:
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=987654321 --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
REST
如需创建用于从多个项目中删除操作系统政策的政策编排程序,请使用以下方法之一,并将操作指定为
DELETE
:项目
向
projects.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,指定与操作系统政策分配关联的政策 ID。
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
POST https://osconfig.googleapis.com/v2/projects/567890/locations/global/policyOrchestrators { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
文件夹
向
folders.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,指定与操作系统政策分配关联的政策 ID。
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
例如,如需从多个项目中删除操作系统政策资源,请发出以下请求:
POST https://osconfig.googleapis.com/v2/folders/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
组织
向
organizations.locations.global.policyOrchestrators.create
方法发送POST
请求。在请求正文中,指定与操作系统政策分配关联的政策 ID。
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
替换以下内容:
示例
例如,如需从多个项目中删除操作系统政策资源,请发送以下请求:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-16。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-16。"],[[["This feature, policy orchestrator in VM Manager, allows for the creation, updating, and deletion of OS policy resources across multiple projects and zones within folders or organizations."],["Policy orchestrators can apply OS policies to resources at the project, folder, or organization level, managing OS policy assignments using a JSON or YAML file."],["The policy orchestrator supports two main actions: UPSERT to create or update OS policies, and DELETE to remove OS policies, along with the ability to define a rollout plan."],["Prerequisites must be met, including authentication setup and reviewing OS policy assignment documentation, before utilizing the policy orchestrator."],["When using the Google Cloud console in Preview, only folder-level orchestrators can be created, and the feature is subject to Pre-GA Offerings Terms with limited support."]]],[]] -