默认情况下,项目无法创建或修改共享预留。本文档介绍如何允许或限制 Google Cloud 组织中的项目创建和修改共享预留。共享预留可帮助您最大限度地提高各项目中预留容量的使用率,并只需管理一个预留,而不是多个预留。
如需详细了解创建和使用共享预留的最佳实践,请参阅共享预留的最佳实践。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 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
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
所需的角色
如需获得允许或限制项目创建共享预留所需的权限,请让您的管理员向您授予组织的 Organization Policy Administrator (
roles/orgpolicy.policyAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含允许或限制项目创建共享预留所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
必须拥有以下权限才能允许或限制项目创建共享预留:
-
修改组织政策:针对组织的
orgpolicy.policy.set权限 -
查看组织政策:针对组织的
orgpolicy.policy.get权限
允许或限制项目创建共享预留
如需允许或限制项目创建共享预留,请修改共享预留所有者项目 (
compute.sharedReservationsOwnerProjects) 组织政策限制条件中的许可名单。以下部分介绍了如何在项目或组织中查看或修改共享预留政策限制条件。
查看共享预留组织政策限制条件
如需查看您的项目或组织是否已启用“共享预留所有者项目”
compute.sharedReservationsOwnerProjects限制条件,请选择以下选项之一:控制台
在 Google Cloud 控制台中,转到组织政策页面。
在项目选择器中,选择要查看组织政策的项目或组织。
在 过滤条件字段中,输入
constraints/compute.sharedReservationsOwnerProjects。在名称列中,点击共享预留的所有者项目。 系统随即会显示政策详情页面。
在有效政策部分,验证您的项目或组织是否可以创建和修改共享预留。
gcloud
如要查看
compute.sharedReservationsOwnerProjects限制条件允许哪些项目创建和修改共享预留,请执行以下操作:如需将组织的政策下载为名为
policy.yaml的文件,请使用gcloud resource-manager org-policies describe命令:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \ --organization=ORGANIZATION_ID > policy.yaml将 ORGANIZATION_ID 替换为您的组织的 ID。
在您选择的文本编辑器中打开
policy.yaml文件。查看
compute.sharedReservationsOwnerProjects限制条件。可以创建和修改共享预留的项目列在allowedValues字段中,如以下示例所示:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/EXAMPLE_PROJECT_NUMBER1 - projects/EXAMPLE_PROJECT_NUMBER2 - projects/EXAMPLE_PROJECT_NUMBER3 ... ...可选:如需删除
policy.yaml文件,请执行以下任一操作:如果您使用的是 Linux 或 macOS 终端,请运行以下命令:
rm policy.yaml如果您使用的是 Windows 终端,请运行以下命令:
del policy.yaml
修改共享预留组织政策限制条件
如需修改组织中哪些项目可以创建和修改共享预留,请选择以下选项之一:
控制台
在 Google Cloud 控制台中,转到组织政策页面。
在项目选择器中,选择要为其修改组织政策的组织。
在 过滤条件字段中,输入
constraints/compute.sharedReservationsOwnerProjects。在名称列中,点击共享预留的所有者项目。 系统随即会显示政策详情页面。
点击 管理政策。系统随即会显示政策详情页面。
选择覆盖父资源的政策。然后,在政策执行部分中,选择您希望如何应用该政策:
与父级合并:此选项会将项目级政策与组织级政策合并。任一级别允许的项目都可以创建共享预留。
替换:此选项会覆盖从更高级别继承的任何政策。只有在此级别明确允许的项目才能创建共享预留。
点击 添加规则。
在政策值列表中,选择自定义。
在政策类型列表中,选择以下选项之一:
如需授权一个或多个项目创建或修改共享预留,请选择允许。
如需禁止一个或多个项目创建或修改共享预留,请选择拒绝。
在自定义值字段中,输入要应用相应规则的项目编号。对于要应用相应规则的每个其他项目,请点击添加值,然后重复此步骤。
如需应用这些更改,请点击设置政策。系统会显示组织政策页面。
gcloud
如需修改
compute.sharedReservationsOwnerProjects限制条件允许创建和修改共享预留的项目,请使用以下方法之一:如需向单个项目授予权限以创建和修改共享预留,请使用
gcloud resource-manager org-policies allow命令。您可以为要授予此权限的每个项目重复此命令。gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \ --organization=ORGANIZATION_ID替换以下内容:
如需授予或撤消多个项目创建和修改共享预留的权限,请替换组织政策限制条件。为此,请完成以下步骤:
如需将组织的政策下载为名为
policy.yaml的文件,请使用gcloud resource-manager org-policies describe命令:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \ --organization=ORGANIZATION_ID > policy.yaml在您选择的文本编辑器中打开
policy.yaml文件。修改
allowedValues字段,以列出所有可以创建和修改共享预留的项目。对于要授予权限的每个项目,请在
allowedValues字段内的新行中添加项目编号。对于您要撤消创建和修改共享预留权限的每个项目,请从
allowedValues字段中移除该项目编号。
policy.yaml文件类似于以下示例:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/EXAMPLE_PROJECT_NUMBER1 - projects/EXAMPLE_PROJECT_NUMBER2 - projects/EXAMPLE_PROJECT_NUMBER3 ... ...保存
policy.yaml文件并关闭文本编辑器。如需更新组织的政策,请使用
gcloud resource-manager org-policies set-policy命令:gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID policy.yaml可选:如需删除
policy.yaml文件,请执行以下任一操作:如果您使用的是 Linux 或 macOS 终端,请运行以下命令:
rm policy.yaml如果您使用的是 Windows 终端,请运行以下命令:
del policy.yaml
更改最长可能需要 15 分钟才能生效。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-02-19。
[[["易于理解","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-02-19。"],[],[]] -