本文档介绍了如何检查嵌套虚拟化是否已启用,以及如何修改用于控制是否为组织、项目或文件夹启用嵌套虚拟化的布尔值限制条件。
组织政策中的布尔值限制条件决定了如何创建嵌套虚拟机。嵌套虚拟化的布尔值限制条件是一种限制,这意味着实施该规则时,它会指示组织政策限制嵌套虚拟机的创建。如需详细了解布尔值限制条件,请参阅了解限制条件。
默认情况下,系统不会强制执行停用虚拟机嵌套虚拟化限制条件,因此您不必修改任何布尔值限制条件即可启用嵌套虚拟化。即便如此,Google 也建议您明确设置限制条件的值,以便您的组织、文件夹和项目不依赖于默认设置。如果您的项目不从属于某个组织,则默认情况下系统不会强制执行限制条件,并且您不能更改限制条件。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
在 Google Cloud 控制台中,转到组织政策页面。
在组织、文件夹和项目选择器中,选择要查看其组织政策的实体。
选择停用虚拟机嵌套虚拟化限制条件以打开政策详情页面。
查看强制执行的值:
如果该值为未强制执行,则系统会启用嵌套虚拟化,并且您可以创建嵌套虚拟机。
如果该值为已强制执行,则系统会停用嵌套虚拟化,并且您不能创建嵌套虚拟机。
ORGANIZATION_ID
:要获取其限制条件值的组织的 ID。如需查看可访问组织及其 ID 的列表,请运行gcloud organizations list
命令。FOLDER_ID
:要获取其限制条件值的文件夹的 ID。如需查看可访问文件夹及其 ID 的列表,请运行gcloud resource-manager folders list
命令。PROJECT_ID
:要获取其限制条件值的项目的 ID。如需查看可访问项目及其 ID 的列表,请运行gcloud projects list
命令。RESOURCE
:要获取其组织政策的资源。设置为以下其中一项:organizations
:调用organizations.getOrgPolicy
方法folders
:调用folders.getOrgPolicy
方法projects
:调用projects.getOrgPolicy
方法
RESOURCE_ID
:要检查其停用嵌套虚拟化限制条件的状态的组织、文件夹或项目在 Google Cloud 控制台中,转到组织政策页面。
在组织、文件夹和项目选择器中,选择要修改其组织政策的实体。
选择停用虚拟机嵌套虚拟化限制条件以打开政策详情页面。
点击修改,然后选择自定义。
在强制执行下,为停用虚拟机嵌套虚拟化布尔值限制条件选择以下强制执行选项之一:
- 开启:启用强制执行并停用嵌套虚拟化
- 关闭:停用强制执行并启用嵌套虚拟化
点击保存。
ORGANIZATION_ID
:要修改其限制条件值的组织的 ID。如需查看可访问组织及其 ID 的列表,请运行gcloud organizations list
命令。FOLDER_ID
:要修改其限制条件值的文件夹的 ID。如需查看可访问文件夹及其 ID 的列表,请运行gcloud resource-manager folders list
命令。PROJECT_ID
:要修改其限制条件值的项目的 ID。如需查看可访问项目及其 ID 的列表,请运行gcloud projects list
命令。RESOURCE
:要修改组织政策的资源。请将此项设置为以下任一项:organizations
:调用organizations.setOrgPolicy
方法folders
:调用folders.setOrgPolicy
方法projects
:调用projects.setOrgPolicy
方法
RESOURCE_ID
:要检查其停用嵌套虚拟化限制条件的状态的组织、文件夹或项目ENFORCE
:确定组织政策是否强制执行compute.disableNestedVirtualization
布尔值限制条件。设置为以下其中一项:true
:强制执行限制条件。使用此设置时,您无法创建已启用嵌套虚拟化的虚拟机。false
:不强制执行限制条件。通过此设置,您可以创建已启用嵌套虚拟化的虚拟机。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
检查是否允许嵌套虚拟化
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 检查组织、文件夹或项目是否允许嵌套虚拟化。
控制台
通过检查是否未强制执行停用嵌套虚拟化的布尔值限制条件,查看是否可以在组织、文件夹或项目中创建嵌套虚拟机。如果组织政策未强制执行停用虚拟机嵌套虚拟化限制条件,则可以创建嵌套虚拟机。
gcloud
使用
gcloud resource-manager org-policies describe
命令检查compute.disableNestedVirtualization
布尔值限制条件的值。如果 Google Cloud CLI 输出未显示
booleanPolicy
的值,则允许嵌套虚拟化,您可以创建嵌套虚拟机。如果
booleanPolicy
的 Google Cloud CLI 输出值为enforced: true
,则组织政策强制执行停用嵌套虚拟化限制条件,您无法创建嵌套虚拟机。gcloud resource-manager org-policies \ describe constraints/compute.disableNestedVirtualization \ (--organization=ORGANIZATION_ID | --folder=FOLDER_ID | --project=PROJECT_ID) --effective
请准确替换以下各项之一:
REST
使用 REST 检查
compute.disableNestedVirtualization
布尔值限制条件的值,该值决定了您是否可以在组织、文件夹或项目中创建嵌套虚拟机。如果 REST 响应没有为限制条件返回
"booleanPolicy"
的值,则系统不会停用嵌套虚拟化,并且您可以创建嵌套虚拟机。如果输出中
"booleanPolicy"
的值为"enforced": true
,则系统会停用嵌套虚拟化,并且您不能创建嵌套虚拟机。POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:getOrgPolicy { "constraint": "compute.disableNestedVirtualization" }
请替换以下内容:
修改嵌套虚拟化组织政策
如果您拥有适当的角色,则可以控制组织、文件夹或项目是否能够创建嵌套虚拟机。可以使用嵌套虚拟化的布尔值限制条件来控制这一强制执行情况。
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 为组织、文件夹或项目启用嵌套虚拟化。
控制台
如需启用嵌套虚拟化,请停用停用虚拟机嵌套虚拟化布尔值限制条件的强制执行;如需停用嵌套虚拟化,请启用布尔值限制条件的强制执行。
gcloud
使用
gcloud resource-manager org-policies
命令启用或停用compute.disableNestedVirtualization
组织政策布尔值限制条件的强制执行。如果您使用
disable-enforce
命令停用compute.disableNestedVirtualization
限制条件,则可以创建启用了嵌套虚拟化的虚拟机。如果您使用
enable-enforce
命令启用限制条件,则无法创建启用了嵌套虚拟化的虚拟机。gcloud resource-manager org-policies \ ( disable-enforce | enable-enforce ) compute.disableNestedVirtualization \ (--organization=ORGANIZATION_ID | --folder=FOLDER_ID | --project=PROJECT_ID)
请准确替换以下各项之一:
REST
使用 REST 修改
compute.disableNestedVirtualization
布尔值限制条件的值,该值决定了您是否可以在组织、文件夹或项目中创建嵌套虚拟机。POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:setOrgPolicy { "policy": { "booleanPolicy": { "enforced": ENFORCE }, "constraint": "constraints/compute.disableNestedVirtualization" } }
替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-08。
-