設定主專案 (舊版)

本文說明如何在 App Hub 中設定託管專案。

主專案是舊版應用程式設定模型,適用於現有 App Hub 使用者。建議您為新導入作業設定已啟用應用程式的資料夾,定義資料夾層級的界線。資料夾層級的界線可提供完整的一組以應用程式為中心的 Google Cloud 功能存取權,例如 Application Design Center 和 Gemini Cloud Assist。如要比較應用程式管理適用的模型主要差異,請參閱選擇應用程式設定模型

主專案和服務專案總覽

主專案是您附加其他專案的專案,這些專案包含要歸類為 App Hub 應用程式的服務和工作負載。 Google Cloud附加至主專案的專案稱為「服務專案」

主專案可直接附加至自身,藉此管理自己的資源。不過,如果是單一專案設定,建議使用單一專案做法

事前準備

將專案設為主專案並附加服務專案前,請先完成下列步驟: Google Cloud

  1. 找出要設為主專案的 Google Cloud 專案。 您可以使用現有專案,或建立新專案
  2. 找出要以服務專案形式附加至主專案的專案 Google Cloud 。您必須找出所有包含服務和工作負載的專案,並向 App Hub 應用程式註冊這些專案。App Hub 無法查看其他專案中的資源。服務專案必須符合下列規定:

    • 服務專案必須與主專案位於同一個機構
    • 服務專案一次只能附加到一個主專案。
    • 主專案可做為自身的服務專案,管理自己的資源,但您無法將其附加至任何其他主專案做為服務專案。

必要的角色

如要取得將服務專案連結至主專案所需的權限,請要求管理員在主專案和要連結的每個服務專案中,授予您 App Hub 管理員 (roles/apphub.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

設定主專案

如要將 Google Cloud 專案設定為主專案,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台中,使用專案選擇工具選取要設為主專案的專案。

    前往「歡迎」頁面

  2. Enable the required API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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:

    gcloud components update
    
  3. 找出要設為主專案的 Google Cloud 專案 ID

  4. 將主專案設為指令的預設專案:

    gcloud config set project HOST_PROJECT_ID
    

    HOST_PROJECT_ID 替換為要設為託管專案的專案 ID。

  5. 在主機專案中啟用 App Hub API

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

附加服務專案

將含有要在 App Hub 應用程式中註冊的服務和工作負載的服務專案,附加到主專案:

控制台

  1. 在 Google Cloud 控制台,使用專案選擇工具選取主專案。

    前往「歡迎」頁面

  2. 從應用程式中心前往「設定」頁面:

    前往「設定」

  3. 按一下「附加專案」

  4. 選取要附加至主專案的服務專案,方法如下:

    • 在專案清單中,勾選要附加為服務專案的專案核取方塊。
    • 篩選專案名稱,然後勾選核取方塊。
  5. 按一下「選取」

    「附加的服務專案」表格會顯示所選服務專案。

  6. 按一下 [關閉]

gcloud

  1. 找出每個要設為服務專案的 Google Cloud 專案 ID
  2. 附加每個服務專案:

    gcloud apphub service-projects add SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    更改下列內容:

    • SERVICE_PROJECT_ID:要附加的服務專案 ID。
    • HOST_PROJECT_ID:主機專案的 ID。
  3. 針對要附加至主專案的每個服務專案,重複執行上述程序。

Terraform

如要使用 Terraform 將服務專案附加至主專案,請使用google_apphub_service_project_attachment 資源,例如:

resource "google_apphub_service_project_attachment" "example" {
    service_project_attachment_id = google_project.service_project.project_id
    depends_on = [time_sleep.wait_120s]
}

resource "google_project" "service_project" {
    project_id ="project-1"
    name = "Service Project"
    org_id = "123456789"
    deletion_policy = "DELETE"
}

resource "time_sleep" "wait_120s" {
    depends_on = [google_project.service_project]

    create_duration = "120s"
}

如要從託管專案卸離服務專案,請參閱「移除服務專案」。

指派 App Hub 角色和權限

如要將適當的 App Hub 角色和權限授予主專案和服務專案中的 App Hub 使用者,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台,使用專案選擇工具選取主專案。

    前往「歡迎」頁面

  2. 前往「IAM」(身分與存取權管理) 頁面:

    前往「身分與存取權管理」頁面

  3. 點按「 Grant access」(授予存取權)。「授予存取權」窗格隨即開啟。

  4. 在「New principals」(新增主體) 欄位中,輸入要授予 App Hub 存取權的主體電子郵件地址。

  5. 按一下「選取角色」,然後在「篩選器」欄位中輸入「App Hub」

  6. 選取要指派給主體的 App Hub IAM 角色,然後按一下「儲存」

  7. 在附加至主專案的每個 App Hub 服務專案中,重複先前的程序,將相同角色授予相同使用者。

gcloud

  1. 找出您設定為主專案和服務專案的每個 Google Cloud 專案的專案 ID

  2. 授予主專案中的主體存取權:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    更改下列內容:

    • HOST_PROJECT_ID:主機專案的 ID。
    • EMAIL_ADDRESS:必須在主機專案中取得 App Hub 存取權的負責人電子郵件地址。這個值必須採用 username@yourdomain 格式,例如 my.user@example.com
    • ROLE_NAME:要指派給主體的應用程式中心 IAM 角色,例如 roles/apphub.admin
  3. 在您附加至主專案的每個 App Hub 服務專案中,將相同角色授予相同使用者:

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    SERVICE_PROJECT_ID 替換為要授予存取權的服務專案 ID。

設定 VPC Service Controls

如要使用 VPC Service Controls 範圍保護應用程式,請先將 App Hub 主機專案和服務專案新增至範圍,再建立應用程式。詳情請參閱「搭配使用 VPC Service Controls 與 App Hub」。

選用:設定指標範圍

如要在 Cloud Monitoring 中查看主專案內應用程式的系統指標,請將附加的服務專案新增至主專案的指標範圍。主機專案可做為時間序列資料的範圍專案,方便您繪製資料圖表及監控資料。如需更多資訊和設定說明,請參閱「設定指標範圍」和「使用 API 設定指標範圍」。

移除服務專案

如要從主專案卸離服務專案,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台,使用專案選擇工具選取主專案。

    前往「歡迎」頁面

  2. 從應用程式中心前往「設定」頁面:

    前往「設定」

  3. 選取要從主專案中移除的服務專案核取方塊。

  4. 按一下「Detach projects」(取消連結專案)

    「已附加的服務專案」表格會重新整理,只顯示仍附加至主專案的專案。

gcloud

  1. 找出要從託管專案中移除的每個服務專案 ID
  2. 移除每個服務專案:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    更改下列內容:

    • SERVICE_PROJECT_ID:要移除的服務專案 ID。
    • HOST_PROJECT_ID:主機專案的 ID。
  3. 針對要從託管專案中移除的每個服務專案,重複執行上述程序。

從主專案移除服務專案時,如果先前設定了指標範圍,請考慮也從主專案的指標範圍中移除服務專案。詳情請參閱「從指標範圍中移除專案」。

後續步驟