Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Compute Engine 的组织政策
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
借助组织政策服务,您可以对组织的资源进行程序化集中控制。您可以使用组织政策来强制执行有关如何配置 Compute Engine 资源(例如虚拟机 [VM] 实例、磁盘和网络)的限制。如需详细了解组织政策,请参阅组织政策服务简介。
您可以在组织、文件夹或项目级设置政策。
子级资源会继承政策,这让您可以在组织级强制执行广泛的控制,并在文件夹或项目级应用更具体的限制。
本文档概述了如何使用组织政策来管理 Compute Engine 资源。
使用场景
您可以使用组织政策在 Compute Engine 资源中强制实施治理。常见目标包括:
- 费用管理:通过限制可在指定项目中创建的虚拟机机器类型或 Persistent Disk 大小来控制支出。
- 安全状况:强制执行安全最佳实践,例如要求所有虚拟机实例访问都使用 OS Login,或停用交互式串行控制台。
- 合规性:满足监管要求,例如要求特定项目中的虚拟机在单租户节点上运行,以支持硬件隔离。
约束类型
使用组织政策时,您可以应用以下类型的限制条件:
- 托管式限制:Google 提供的预定义限制条件,基于现代平台构建,带有
compute.managed.* 前缀。它们支持安全发布工具(例如试运行和 Policy Simulator)以及标记条件语句,让您可以向特定资源授予精细的豁免权限。
- 托管式限制(旧版):Google 提供的预定义限制条件,带有
compute.* 前缀。虽然这些宏可以正常运行,但通常不支持现代安全发布工具(例如 Dry Run 和 Policy Simulator),也不支持以标记为条件的语句。如果存在等效的替代方案,我们建议您迁移到受管理的限制,以利用增强的治理和安全发布功能。
- 自定义限制条件:您使用通用表达式语言 (CEL) 根据自己的特定需求创建的限制条件。借助自定义限制条件,您可以针对受管限制条件未涵盖的特定字段强制执行政策。与托管式限制一样,自定义约束条件支持标记条件语句和安全发布工具,例如试运行和 Policy Simulator。如需详细了解如何为 Compute Engine 创建和管理自定义限制条件,请参阅自定义限制条件。
每个 Compute Engine 资源的限制数量上限为 20 个,包括托管式限制和自定义限制。旧版受管理的限制不计入此限额。
Compute Engine 限制
以下部分列出了组织政策支持的 Compute Engine 限制条件。
受管限制条件
Compute Engine 的托管式限制条件可简化常见安全场景的管理,并与安全发布工具(例如试运行和 Policy Simulator)集成,让您可以在强制执行之前测试其影响。如需查看 Compute Engine 的托管式限制列表,请参阅托管式限制。
托管式限制条件(旧版)
这些限制条件来自上一代,不支持安全发布工具。我们建议您在有等效的托管式限制时迁移到托管式限制。
旧版限制条件
| 限制条件 |
说明 |
compute.allowedDeviceEncryptionKeys |
限制可用于加密设备资源的 Cloud Key Management Service 密钥。 |
compute.disableAllIpv6 |
禁止创建或更新为 IPV4_IPV6 类型的子网堆栈,但不影响现有的 IPV4_IPV6 堆栈类型子网。如果此限制处于有效状态,则任何现有的 IPV4_IPV6 堆栈类型子网都会继续正常运行。不过,如果项目在激活此限制时存在 IPV4_IPV6 堆栈类型子网,您必须先将其删除,然后才能在同一区域中创建 IPV4_ONLY 堆栈类型子网,即使您使用的是不同的 VPC 网络也是如此。 |
compute.disableGuestAttributes |
停用 Compute Engine 客机特性,该特性可用于从虚拟机实例内发布主机名、IP 地址和其他与实例相关的信息。 |
compute.disableInstanceDataAccessApis |
禁止访问 Compute Engine 实例元数据 API,这些 API 用于访问敏感的实例元数据,例如 sshKeys、serialPortLogging 和启动/关闭脚本。 |
compute.disableInternetNetworkEndpointGroup |
停用互联网网络端点组的创建。 |
compute.disableNestedVirtualization |
如果设置为 true,则系统会对项目中的所有 Compute Engine 虚拟机停用硬件加速的嵌套虚拟化功能。 |
compute.disableSerialPortAccess |
禁止通过串行端口访问 Compute Engine 虚拟机。 |
compute.disableSerialPortLogging |
禁止将串行端口日志从 Compute Engine 虚拟机记录到 Google Cloud Observability。 |
compute.disableVpcExternalIpv6 |
如果此限制条件处于有效状态,您将无法创建具有 ULA 内部 IPv6 范围的 VPC 网络,也无法为 VPC 网络中的虚拟机分配外部 IPv6 地址。此限制条件不会影响 VPC 网络中的内部 IPv6 地址。 |
compute.enableComplianceMemoryProtection |
在 Compute Engine 虚拟机上启用内存保护功能。 |
compute.requireConfidentialVm |
要求所有新的 Compute Engine 虚拟机实例都使用机密虚拟机。 |
compute.requireGuestAttributes |
需要 Compute Engine 访客属性,该属性可用于从虚拟机实例内部发布主机名、IP 地址和其他与实例相关的信息。 |
compute.requireOsLogin |
要求所有新的 Compute Engine 虚拟机实例都启用 OS Login。 |
compute.requireShieldedVm |
要求所有新的虚拟机实例都是安全强化型虚拟机。 |
compute.restrictCloudNATUsage |
将 Cloud NAT 用量限制为仅限指定 VPC 网络。 |
compute.restrictDedicatedInterconnectUsage |
将专用互连用量限制为仅限指定的 VPC 网络。 |
compute.restrictLoadBalancerCreationForTypes |
将负载平衡器的创建限制为仅允许的类型。 |
compute.restrictPartnerInterconnectUsage |
将合作伙伴互连用量限制为仅限指定的 VPC 网络。 |
compute.restrictProtocolForwardingCreationForTypes |
限制协议转发的创建,使其只能转发到内部或外部目标实例。 |
compute.restrictSharedVpcHostProjects |
限制了范围内的项目可以附加到的宿主项目集。 |
compute.restrictSharedVpcSubnetworks |
限制范围内的项目可以使用的一组共享 VPC 子网。 |
compute.restrictVpcPeering |
将 VPC 网络对等互连限制为仅允许的 VPC 网络。 |
compute.restrictVpnPeerIPs |
将 VPN 对等 IP 限制为仅允许的 IP。 |
compute.setNewProjectDefaultToZonalDnsOnly |
如果设置为 true,新项目默认仅使用可用区级 DNS;在这些项目中创建的虚拟机具有可用区级 DNS 名称 (.zone.c.project-id.internal)。已停用全球 DNS 的项目无法恢复为使用全球 DNS。 |
compute.skipDefaultNetworkCreation |
在 Google Cloud 项目创建期间,跳过自动创建 default VPC 网络和相关资源的过程。 |
compute.storageResourceUseRestrictions |
根据位置限制 Compute Engine 存储资源(例如 PD-Standard、PD-SSD、PD-Balanced、本地 SSD)的使用。 |
compute.trustedImageProjects |
将映像访问权限限制为仅限指定项目中的可信映像。 |
compute.vmCanIpForward |
限制哪些虚拟机实例可以启用 IP 转发。 |
compute.vmExternalIpAccess |
限制允许使用外部 IP 地址的虚拟机实例。 |
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-06-04。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-06-04。"],[],[]]