设置单个项目

本文档介绍了如何设置单个 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。然后,该项目称为已启用应用的项目。

如需在单个项目中启用应用管理功能,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择您的项目。

  2. 从 App Hub 前往概览页面:

    转到“概览”页面

  3. 点击设置应用中心

    如果您的项目已位于已启用应用的文件夹中,则该页面不会显示设置 App Hub 选项。系统会提示您从菜单中选择已启用应用的文件夹或使用当前项目。选择当前项目以继续进行单项目设置。如需详细了解应用管理方面的资源层次结构注意事项,请参阅规划应用管理的资源层次结构

  4. 启用应用中心页面中,选择以下选项之一:

    • 快速设置:管理此项目中资源的默认配置,并定义您的第一个应用以供初步采用。
    • 完整设置:管理应用的自定义配置,包括预先设置访问权限控制,以及选择性地添加更多项目以实现多项目边界
  5. 记下项目名称和 ID。此信息用于标识管理项目,您将使用这些值来授予访问权限。

  6. 查看正在启用的 API 列表。 某些 API 会产生相关费用。 详细了解 API 的费用,或点击每个 API 以查看相关费用。

  7. 点击继续

  8. 根据您的选择完成设置:

    • 如果您选择了快速设置,则可以在定义应用标签页中选择立即定义应用,也可以在不创建应用的情况下完成设置。现在,您可以创建应用并向其注册资源了。 您还可以通过应用快速入门指南开始使用。

    • 如果您选择了完整设置,请为管理员授予以应用为中心的自定义访问权限:

      1. 定义边界标签页中,验证项目信息。 边界内的项目表格仅显示定义单项目边界的项目。对于单项目边界设置,请勿添加任何其他项目。

      2. 点击继续

      3. 授予访问权限标签页中,为项目中的管理员选择合适的 IAM 角色和权限。如需查看Google Cloud 产品中推荐的以应用为中心的角色列表,请参阅向用户授予以应用为中心的角色

      4. 新主账号框中,输入应具有项目中以应用为中心的任务的管理权限的用户、群组或服务账号。

      5. 点击授予角色,然后点击完成

      您现在可以使用 App Design Center 将现有资源注册到应用创建应用模板

稍后,您可以在 IAM 页面中向正文授予其他 IAM 角色。如需了解详情,请参阅使用 Google Cloud 控制台授予 IAM 角色

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 确保已安装最新版本的 Google Cloud CLI:

    gcloud components update
    
  3. 查找项目 ID

  4. 将项目设置为命令的默认项目:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID 替换为相应项目的 ID。

  5. 启用 App Hub API:

    gcloud services enable apphub.googleapis.com \
        --project PROJECT_ID
    
  6. 将项目附加到自身以创建应用管理边界:

    gcloud apphub boundary update \
        --crm-node=projects/PROJECT_ID \
        --project=PROJECT_ID \
        --location=global
    

    此命令会将项目配置为自己的管理项目,从而让应用中心自动发现其中的所有受支持的资源

  7. 确认附件状态:

    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 角色和权限

请按照以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

  2. 前往 IAM 页面:

    转到 IAM

  3. 点击 授予访问权限。 此时会打开授予访问权限窗格。

  4. 新正文字段中,输入您要向其授予 App Hub 访问权限的正文的电子邮件地址。

  5. 点击选择角色,然后在过滤条件字段中输入 App Hub

  6. 选择您打算分配给相应主账号的 App Hub IAM 角色,然后点击保存

gcloud

  1. 向管理项目中的正文授予访问权限:

    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 可以重新发现您的应用、服务和工作负载,并在基础资源仍然存在的情况下更新注册状态。

如需在单个项目中停用应用管理,请按照以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

    前往“欢迎”页面

  2. 从 App Hub 前往边界设置页面:

    前往“边界”设置

  3. 选中相应项目的复选框,以将其从边界中分离出来并停用应用管理。

  4. 点击分离项目

    边界内的项目表会刷新,不再显示您的项目信息。

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 确保已安装最新版本的 Google Cloud CLI:

    gcloud components update
    
  3. 查找项目 ID

  4. 将项目设置为命令的默认项目:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID 替换为相应项目的 ID。

  5. 将项目与其边界取消关联,以停用应用管理:

    gcloud apphub boundary update \
        --project=PROJECT_ID \
        --location=global \
        --crm-node=""
    

    此命令会更新边界资源并移除附件,从而为项目停用应用管理。

  6. 通过描述边界来确认分离:

    gcloud apphub boundary describe \
        --project=PROJECT_ID \
        --location=global
    

    输出不包含 crmNode 字段,这确认了项目已停用应用管理。

  7. (可选)删除项目中的所有应用,然后停用 App Hub API(如果您不再在此项目中使用应用功能):

    gcloud services disable apphub.googleapis.com \
        --project=PROJECT_ID
    

后续步骤