本文档介绍了如何设置单个 Google Cloud 项目来管理应用。此配置也称为“单项目边界”。
在此设置中, Google Cloud 项目配置为管理其自己的应用和组件,充当独立的管理项目。如果您的所有应用组件都位于此单个项目中,那么此方法是开始管理应用的最快方式。App Hub 会自动发现项目中的所有受支持资源,以便您将这些资源整理到应用中。
限制
与文件夹级边界相比,单项目边界支持的功能有所不同。App Hub、App Design Center 和应用监控完全支持单个项目,但其他以应用为中心的 Google Cloud 服务(例如 Cloud Hub 和 Gemini Cloud Assist)需要文件夹级边界。
如需比较单项目模型和文件夹级模型之间的功能支持情况,请参阅按边界类型划分的功能支持情况。
准备工作
选择要用于管理应用的 Google Cloud 项目。此项目将充当独立的管理项目。您可以使用现有项目,也可以创建新项目。
所需的角色
如需获得为应用管理配置单个项目所需的权限,请让管理员向您授予您要配置为独立管理项目的项目的以下 IAM 角色:
-
管理项目中的资源、权限和结算:
项目所有者 (
roles/owner) -
管理项目中的所有应用组件:
App Hub Admin (
roles/apphub.admin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
在项目上启用应用管理功能
此操作会将项目配置为独立管理项目,并为应用元数据和配置启用必需的 API。然后,该项目称为已启用应用的项目。
如需在单个项目中启用应用管理功能,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,使用项目选择器选择您的项目。
从 App Hub 前往概览页面:
点击设置应用中心。
如果您的项目已位于已启用应用功能的文件夹中,则该页面不会显示设置 App Hub 选项。系统会提示您从菜单中选择已启用应用的文件夹或使用当前项目。选择当前项目以继续进行单项目设置。如需详细了解应用管理方面的资源层次结构注意事项,请参阅规划应用管理的资源层次结构。
在启用应用中心页面中,选择以下选项之一:
- 快速设置:管理此项目中资源的默认配置,并定义您的第一个应用以供初步采用。
- 完整设置:管理应用的自定义配置,包括预先设置访问权限控制,以及选择性地添加更多项目以实现多项目边界。
记下项目名称和 ID。此信息用于标识管理项目,您将使用这些值来授予访问权限。
查看正在启用的 API 列表。 某些 API 会产生相关费用。 详细了解 API 的费用,或点击每个 API 以查看相关费用。
点击继续。
根据您的选择完成设置:
如果您选择了快速设置,则可以在定义应用标签页中选择立即定义应用,也可以在不创建应用的情况下完成设置。现在,您可以创建应用并向其注册资源了。 您还可以通过应用快速入门指南开始使用。
如果您选择了完整设置,请为管理员授予以应用为中心的自定义访问权限:
在定义边界标签页中,验证您的项目信息。 边界内的项目表格仅显示定义单项目边界的项目。对于单项目边界设置,请勿添加任何其他项目。
点击继续。
在授予访问权限标签页中,为项目中的管理员选择合适的 IAM 角色和权限。 如需查看Google Cloud 产品中推荐的以应用为中心的角色列表,请参阅向用户授予以应用为中心的角色。
在新主账号框中,输入应具有项目中以应用为中心的任务的管理权限的用户、群组或服务账号。
点击授予角色,然后点击完成。
您现在可以使用 App Design Center 将现有资源注册到应用或创建应用模板。
稍后,您可以在 IAM 页面中向主账号授予其他 IAM 角色。如需了解详情,请参阅使用 Google Cloud 控制台授予 IAM 角色。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
确保已安装最新版本的 Google Cloud CLI:
gcloud components update将项目设置为命令的默认项目:
gcloud config set project PROJECT_ID将
PROJECT_ID替换为相应项目的 ID。启用 App Hub API:
gcloud services enable apphub.googleapis.com \ --project PROJECT_ID将项目附加到自身以创建应用管理边界:
gcloud apphub boundary update \ --crm-node=projects/PROJECT_ID \ --project=PROJECT_ID \ --location=global此命令会将项目配置为自己的管理项目,从而让应用中心自动发现其中的所有受支持的资源。
确认附件状态:
gcloud apphub boundary describe \ --project=PROJECT_ID \ --location=global您将获得类似于以下示例的输出:
name: projects/PROJECT_ID/locations/LOCATION/boundary crmNode: projects/PROJECT_ID createTime: 2025-08-28T19:04:47Z updateTime: 2025-08-28T19:04:47Z type: AUTOMATIC
完成管理项目的配置后,系统会启用应用管理所需的 API,然后您就可以开始使用 App Hub 将服务和工作负载分组到应用中。(可选)查看推荐的 API,以获取对高级功能的访问权限。
分配 App Hub 角色和权限
如需允许用户使用 App Hub 发现、注册和管理此项目中的应用组件,您需要向他们授予相应的 App Hub 角色和权限。
请按照以下步骤操作:
控制台
在 Google Cloud 控制台中,使用项目选择器选择管理项目。
前往 IAM 页面:
点击 授予访问权限。 此时会打开授予访问权限窗格。
在新主账号字段中,输入您要向其授予 App Hub 访问权限的主账号的电子邮件地址。
点击选择角色,然后在过滤条件字段中输入 App Hub。
选择您打算分配给主账号的 App Hub IAM 角色,然后点击保存。
gcloud
向管理项目中的主账号授予访问权限:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'替换以下内容:
PROJECT_ID:管理项目的 ID。EMAIL_ADDRESS:必须获得 App Hub 访问权限的主账号的电子邮件地址。此值必须采用username@yourdomain格式,例如my.user@example.com。ROLE_NAME:您要分配给主账号的 App Hub IAM 角色,例如roles/apphub.admin。
更改应用管理边界
如果您想更改定义单项目边界的项目,请在旧项目上停用应用管理,并在新项目上启用应用管理。您的应用数据不会迁移,您必须在新项目中重新创建应用。
如需从单项目边界迁移到文件夹级边界,请设置已启用应用的文件夹。此操作会在文件夹中配置新的管理项目。您需要在新的管理项目中重新创建应用。
在项目中停用应用管理功能
如果您不再希望在 App Hub 应用中管理项目的资源,可以停用该项目的应用管理功能。
当您在项目上停用应用管理功能时,该项目会从其应用管理边界中分离出来。应用中的服务和工作负载会继续存在,但其注册状态会更改为“已分离”。如果您决定重新启用项目中的应用管理功能,App Hub 可以重新发现您的应用、服务和工作负载,并在基础资源仍然存在的情况下更新注册状态。
如需在单个项目中停用应用管理,请按照以下步骤操作:
控制台
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
确保已安装最新版本的 Google Cloud CLI:
gcloud components update将项目设置为命令的默认项目:
gcloud config set project PROJECT_ID将
PROJECT_ID替换为相应项目的 ID。将项目与其边界取消关联,以停用应用管理:
gcloud apphub boundary update \ --project=PROJECT_ID \ --location=global \ --crm-node=""此命令会更新边界资源并移除附件,从而为项目停用应用管理功能。
通过描述边界来确认分离:
gcloud apphub boundary describe \ --project=PROJECT_ID \ --location=global输出不包含
crmNode字段,这确认了项目已停用应用管理。(可选)删除项目中的所有应用,然后停用 App Hub API(如果您不再在此项目中使用应用功能):
gcloud services disable apphub.googleapis.com \ --project=PROJECT_ID