設定主專案 (舊版)

本文說明如何在 App Hub 中設定主專案,以及建立多專案界線。

主專案是舊版應用程式設定模型,支援現有的 App Hub 使用者。建議您為新導入作業設定已啟用應用程式管理功能的資料夾,定義資料夾層級的界線。資料夾層級邊界可讓您存取完整的應用程式中心 Google Cloud 功能,例如 App 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. 從 App Hub 前往「總覽」頁面:

    前往「Overview」(總覽) 頁面

  3. 按一下「設定應用程式中心」。

  4. 在「啟用 App Hub」頁面中,選擇「完整設定」,建立多專案邊界。

  5. 記下專案名稱和 ID。這項資訊會識別主機專案,您將使用這些值授予存取權。

  6. 查看正在啟用的 API 清單。 某些 API 會產生相關費用。進一步瞭解 API 的費用,或是點選個別 API 來查看相關聯的費用。

  7. 按一下「繼續」。

  8. 在「定義邊界」分頁中,確認專案資訊。

  9. 按一下「新增專案」,將服務專案新增至邊界,或稍後再新增。

  10. 按一下「繼續」。

  11. 在「授予存取權」分頁中,為專案管理員選擇適當的 IAM 角色和權限。如要查看各項產品建議使用的以應用程式為中心的角色清單,請參閱「授予使用者以應用程式為中心的角色」。Google Cloud

  12. 在「New principals」(新增主體) 方塊中,輸入應具備專案中以應用程式為中心的工作管理員存取權的使用者、群組或服務帳戶。

  13. 依序點選「授予角色」和「完成」。

您之後可以透過「IAM」頁面,授予主體其他 IAM 角色。詳情請參閱「使用 Google Cloud 控制台授予 IAM 角色」一文。

gcloud

  1. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。

  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
    

新增服務專案

將服務專案附加至主專案,即可將這些專案新增至應用程式管理邊界。

如要將服務專案附加至主專案,並建立多專案界線,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台,使用專案挑選器選取主專案。

    前往「歡迎」

  2. 從 App Hub 前往「邊界設定」頁面:

    前往「邊界設定」

  3. 按一下「新增專案」。

  4. 選取要附加至主專案的服務專案,然後透過下列任一方式新增至邊界:

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

    「Projects in your boundary」(邊界內的專案) 表格會顯示所選服務專案。附加程序可能需要一些時間才能完成。

  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. 按一下 「授予存取權」。「授予存取權」窗格隨即開啟。

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

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

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

  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:要指派給主體的 App Hub 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. 從 App Hub 前往「邊界設定」頁面:

    前往「邊界設定」

  3. 選取要從主專案中分離,並從邊界中移除的服務專案核取方塊。

  4. 按一下「取消連結專案」。

    「邊界內的專案」表格會重新整理,只顯示仍附加至主專案的專案。

  5. 確認服務專案清單已更新。

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. 針對要從主專案移除的每個服務專案,重複執行上述程序。

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

後續步驟