为启用应用的文件夹设置 App Hub

本文档介绍了如何使用已启用应用的文件夹设置 App Hub,以便在 Google Cloud上构建、运行和管理 App Hub 应用。它适用于设置和管理应用中心的人员。

您还可以在宿主项目上设置 App Hub。不过,我们建议您使用已启用应用的文件夹而非宿主项目来管理应用,因为已启用应用的文件夹可以访问 Application Design Center 和 Gemini Cloud Assist 等功能。如需详细了解如何在宿主项目中设置 App Hub,请参阅在宿主项目中设置 App Hub

在已启用应用的文件夹中设置 App Hub 应用后,您可以使用自然语言助理检索有关应用的信息。如需了解详情,请参阅在 Google Cloud 控制台中使用 Gemini Cloud Assist

服务和工作负载

借助 App Hub,您可以将 Google Cloud 已启用应用的文件夹的后代项目中的资源用作服务和工作负载。将服务和工作负载注册到应用后,您便可以观测和监控这些资源。App Hub 支持全球资源和区域资源。如需详细了解可添加到应用的资源,请参阅 App Hub 支持的资源

整体设置流程

以下列表总结了设置应用中心的步骤:

  1. 确定要在应用中包含哪些现有资源,以及这些资源属于哪些项目。如需详细了解如何管理应用,请参阅应用管理
  2. 在文件夹中启用应用管理功能。 现在,您可以管理启用应用的文件夹的所有后代项目中的资源。如果向文件夹中添加了包含应用所需底层资源的新项目,系统会自动为这些项目启用应用管理功能。
    请注意以下几点:
    1. 项目必须与启用应用的文件夹位于同一组织中。将项目附加到已启用应用的文件夹后,如果您想将该项目移至其他组织,则必须迁移该项目。如需了解详情,请参阅在组织资源之间迁移项目
    2. 将项目附加到已启用应用的文件夹后,查询已启用应用的文件夹中的服务或工作负载会自动返回附加到该文件夹的所有项目中的所有服务和工作负载。
    3. 如果启用了应用功能的文件夹被移至其他组织,则所有已注册的服务和工作负载都将被分离。
  3. App Hub 用户指定为 App Hub 管理员、App Hub 编辑者或 App Hub 查看者。
  4. 创建应用以组织管理多个工作负载和服务。
    请注意以下几点:
    1. 确保应用在启用应用功能的文件夹和位置中具有唯一的名称。
    2. 项目可以附加到包含多个应用的启用应用功能的文件夹,但其各个资源只能注册到一个应用。
    3. 如果将项目移至其他文件夹或组织,应用将继续存在于已启用应用功能的文件夹中,但其服务和工作负载处于分离状态。
  5. 查询服务和工作负载并将其注册到您的应用。 创建应用后,您可以查询已启用应用的文件夹,以了解可用的服务和工作负载。查询针对已启用应用的文件夹以及附加到该文件夹的所有项目运行。该查询还会返回这些项目中的所有服务和工作负载。请注意以下几点:
    1. 您只能将服务或工作负载注册到单个应用。
    2. 您必须将特定区域的服务和工作负载注册到同一区域的区域级应用或全球级应用。以下说明和命令假设所有资源都位于同一区域中。如需了解可以指定哪些区域,请参阅位置
    3. 已注册的服务和工作负载不受底层基础架构资源更新的影响。换句话说,如果您删除充当服务和工作负载的基础资源,App Hub 不会从您的应用中删除关联的工作负载和服务。您必须单独取消注册工作负载或服务。

前提条件

在设置 App Hub 之前,请完成以下任务。

  1. 确保您拥有所需的 IAM 角色,以便为管理项目启用或创建结算账号。
  2. 确定要启用应用管理的现有文件夹,或创建一个新文件夹。如需详细了解如何创建文件夹,请参阅创建文件夹
  3. 确保您已确定哪些个人持有 App Hub 的 Identity and Access Management (IAM) 角色:App Hub 管理员、App Hub 编辑者和 App Hub 查看者。如需详细了解角色和权限,请参阅 App Hub 角色和权限

所需的角色

如需获得修改应用中心资源所需的权限,请让管理员向您授予启用应用的文件夹的以下 IAM 角色:

  • 如需创建和更新应用,以及注册和取消注册服务和工作负载:
  • 如需在文件夹中启用应用管理功能,请执行以下操作: Folder Admin (resourcemanager.folderAdmin)
  • 如需查看支持应用管理的 Google Cloud 服务中的应用、服务和工作负载及其属性,请使用: App Hub 管理查看器 (roles/apphub.appManagementViewer)
    如需详细了解如何在一个位置查看应用的数据,请参阅 Cloud Hub 概览

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

启用应用管理功能

在此部分中,您将选择一个文件夹,并为该文件夹启用应用管理功能。为文件夹配置应用管理时,启用流程包括以下操作:

  • 在文件夹中创建新的管理项目。管理项目是由 Google 创建的项目,您无法移动或删除该项目。一个已启用应用的文件夹只能与一个管理项目相关联。管理项目用于管理与启用应用的文件夹关联的所有后代项目的配额和结算。
  • 为支持应用管理的服务(例如 App Hub 和 Gemini Cloud Assist)启用 API
  1. 在 Google Cloud 控制台中,前往 App Hub 页面。

    前往 App Hub

  2. 根据以下情形,请按照以下步骤操作:

    • 如果您位于未启用应用的 Google Cloud 项目或 Google Cloud文件夹中:
      1. 点击选择文件夹
      2. 选择文件夹对话框中,选择已启用应用的文件夹。如果您需要有关已启用应用的文件夹的信息,请咨询您的管理员。如果您选择的文件夹未启用应用,并且您拥有 Folder Admin (resourcemanager.folderAdmin) IAM 角色,请在该文件夹中启用应用管理。如需了解详情,请参阅在文件夹中启用应用管理和 API
    • 如果您位于已启用应用的 Google Cloud 文件夹中,请在此页面上前往指定 App Hub 用户

    在文件夹中启用应用管理功能会创建一个 Google 拥有的项目,称为管理项目,其格式如下:FOLDER_DISPLAY_NAME-mp。管理项目托管已启用应用的文件夹的后代项目,并有助于管理跨项目功能。您现在可以为相应已启用应用的文件夹中的后代项目创建 App Hub 应用。

  3. 可选:您可以创建项目,也可以将项目从其他文件夹移至已启用应用的文件夹。然后,您可以在已启用应用的文件夹中创建应用,以管理项目中的服务和工作负载。如需详细了解如何创建项目,请参阅创建项目。 如需详细了解如何移动项目,请参阅移动项目

指定 App Hub 用户

如果您是项目创建者,则会被授予基本 Owner 角色 (roles/owner)。默认情况下,此 IAM 角色可提供完全访问大多数Google Cloud 资源所需的权限。

如果您不是项目创建者,则必须向主账号授予项目的必需权限。例如,主账号可以是 Google 账号(针对最终用户)或服务账号(针对应用和计算工作负载)。如需获得完成本教程所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

控制台

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 确保顶部导航栏上的项目选择器显示已启用应用的文件夹。通过 Purview 选择器,您可以了解当前正在查看的组织、文件夹或项目。如果您不在已启用应用的文件夹中,请按以下步骤选择已启用应用的文件夹:

    1. 在范围选择器中,点击所选选项。
    2. 选择资源对话框中,执行以下操作之一:
      • 从文件夹列表中,选择 FOLDER_DISPLAY_NAME 文件夹。
      • 搜索 FOLDER_DISPLAY_NAME 文件夹,然后选择该文件夹。
  3. IAM 页面上,点击 授予访问权限授予访问权限窗格随即会打开。

  4. 新主账号字段中,输入负责管理 App Hub 的个人的电子邮件地址,即已启用应用的文件夹中的 App Hub 管理员角色的电子邮件地址。

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

  6. 选择 App Hub 管理员角色,然后点击保存

  7. 重复上述步骤,向个人授予 App Management Viewer 角色,以便他们查看支持应用管理的Google Cloud 服务中的应用数据及其属性。此角色会授予给应用启用文件夹的所有项目和子文件夹中的个人。

  8. 点击保存

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. 确保已安装最新版本的 Google Cloud CLI。 在 Cloud Shell 中运行以下命令:

    gcloud components update
  3. 在已启用应用的文件夹中,向将管理 App Hub 的个人授予 App Hub 管理员角色。针对每位管理员重复运行以下命令。他们必须拥有 App Hub 管理员角色才能创建应用。

    gcloud projects add-iam-policy-binding MANAGEMENT_PROJECT_ID \
        --member='user:MANAGEMENT_PROJECT_ADMIN' \
        --role='roles/apphub.admin'
    

    替换以下内容:

    • MANAGEMENT_PROJECT_ID:管理项目的 ID,格式为 google-mpf-FOLDER_ID。您可以在 Google Cloud 控制台的 Identity and Access Management (IAM) 和管理设置页面上找到管理项目 ID。如果您找不到管理项目 ID,则可能不在已启用应用的文件夹中。从项目选择器中,选择已启用应用的文件夹。
    • MANAGEMENT_PROJECT_ADMIN:在项目中具有 App Hub 管理员角色的用户。该值的格式为 username@yourdomain,例如 robert.smith@example.com
  4. 在已启用应用管理的文件夹中向个人授予应用管理查看者角色,以便其查看 Google Cloud 支持应用管理的各项服务中的应用数据及其属性。此角色会授予给应用启用文件夹的所有项目和子文件夹中的个人。

    gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
        --member='user:MANAGEMENT_PROJECT_ADMIN' \
        --role='roles/apphub.appManagementViewer'
    

    FOLDER_ID 替换为相应项目的 ID。您可以在 Google Cloud 控制台的 IAM 和管理设置页面上找到已启用应用功能的文件夹 ID。为确保文件夹已启用应用,设置页面应显示管理项目 ID。如果您找不到管理项目 ID,则可能不在已启用应用的文件夹中。从项目选择器中,选择已启用应用的文件夹。

添加或移除项目

您可以修改项目附件,以便将不同的基础设施资源分组到应用中。

控制台

将项目添加到已启用应用的文件夹

    Create a Google Cloud project.

    gcloud projects create PROJECT_ID

    Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    Roles required to create a project

    To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

从已启用应用的文件夹中移除项目

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

gcloud

将项目添加到已启用应用的文件夹

gcloud projects create PROJECT_ID \
    --folder FOLDER_ID

从已启用应用的文件夹中移除项目

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

后续步骤