本指南說明如何使用 App Lifecycle Manager 租戶整理已部署的單元,以及如何將資源部署到個別租戶專案,以便隔離及管理資源。
如要瞭解租戶和租戶專案的總覽,請參閱「租戶和租戶專案」。
事前準備
建立用戶群專案或資源前,請先完成下列事項:
- 在生產者專案中建立 Terraform 設定、Artifact Registry 存放區,以及包含 SaaS 應用程式的構件。如要瞭解如何設定 SaaS 產品,請參閱使用 App Lifecycle Manager 部署服務執行個體。
啟用 App Lifecycle Manager 必用的 API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。確認您已在生產者專案中授予必要的服務帳戶和 Identity and Access Management 角色。包括使用者建立的服務帳戶,以及在生產者專案中授予
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com帳戶的權限。
設定租戶專案
將租戶的資源佈建到不同的專案時,每個租戶的資源、IAM 政策、配額和網路設定都會分開,因此一個租戶發生違規或設定錯誤時,較不會影響其他租戶。
請備妥下列文件:
- 一個生產者專案,以及
每個租戶各有一個租戶專案。
控制台
如要使用 Google Cloud 控制台設定租戶和生產端專案,請按照下列步驟操作:
- 建立生產者專案,並為每個租戶建立租戶專案。
- 在租戶和製作人專案中啟用帳單功能。
在租戶專案中啟用 App Lifecycle Manager 必要的 API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。確認租戶專案是否具有具備必要權限的啟動服務帳戶。
詳情請參閱「App Lifecycle Manager 服務帳戶」。
您已成功設定租戶和製作人專案。為製作人和租戶專案建立並啟用帳單後,即可建立租戶資源,並將單元與租戶建立關聯。
gcloud
如要使用 Google Cloud CLI 設定生產者和租戶專案,請按照下列步驟操作:
建立生產者專案,並為每個租戶建立租戶專案:
gcloud projects create PRODUCER_PROJECT_ID --name="SaaS producer project" [--folder=folder-id] gcloud projects create TENANT_PROJECT_ID --name="SaaS tenant A project" [--folder=folder-id]更改項目:
PRODUCER_PROJECT_ID:代表生產者專案 ID 的字串 ID。TENANT_PROJECT_ID:代表租戶專案 ID 的字串 ID。
為租戶和製作人專案啟用計費功能:
gcloud beta billing projects link PRODUCER_PROJECT_ID --billing-account=BILLING_ACCOUNT_ID gcloud beta billing projects link TENANT_PROJECT_ID --billing-account=BILLING_ACCOUNT_ID更改項目:
PRODUCER_PROJECT_ID:代表生產者專案 ID 的字串 ID。TENANT_PROJECT_ID:代表租戶專案 ID 的字串 ID。BILLING_ACCOUNT_ID:您要與指定專案建立關聯的帳單帳戶 ID。
為每個租戶專案授予啟動服務帳戶必要的 Identity and Access Management 角色:
gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \ --role=ROLE更改項目:
TENANT_PROJECT_ID:代表租戶專案 ID 的字串 ID。PRODUCER_PROJECT_ID:代表生產者專案 ID 的字串 ID。SERVICE_ACCOUNT:您要在指定專案中授予角色的服務帳戶。ROLE:要授予的 Identity and Access Management 角色。您必須為要授予指定服務帳戶的每個角色 (例如
--role='roles/compute.admin') 執行gcloud projects add-iam-policy-binding。
您已成功設定租戶和製作人專案。為製作人和租戶專案建立並啟用帳單後,即可建立租戶資源,並將單元與租戶建立關聯。
建立租戶資源
在 SaaS 產品中建立 tenant 資源,代表您的客戶:
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Tenants」。
點選「建立」。
在「租戶名稱」方塊中,輸入租戶資源的名稱。
選用:在「Customer resource」(客戶資源) 方塊中,提供具有消費者定義整合設定的消費者資源。
在「SaaS 產品」方塊中,選取要與租戶建立關聯的 SaaS 產品。
在「Region」(區域) 下拉式選單中,選取要儲存租戶中繼資料的區域。
選用:按一下「新增標籤」,為租戶新增鍵/值組合標籤。
按一下「建立」即可建立房客資源。
您已成功建立租戶資源。
將單位與房客建立關聯
建立租戶並部署裝置後,即可將兩者連結在一起。這項關聯主要做為機構組織標記,協助您整理哪些單位屬於哪個租戶。
如要進一步瞭解如何部署單元,請參閱「使用 App Lifecycle Manager 部署 VM」。
如要將單元與租戶建立關聯,請按照下列步驟操作:
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Tenants」。
按一下要與單元建立關聯的房客名稱。
按一下 [編輯]。
在「關聯單元」部分中,按一下「新增單元」。
選取要與這個租戶建立關聯的單元。
按一下 [完成]。
按一下 [儲存]。
所選單元會與指定租戶建立關聯。
使用租戶專案變數佈建新單元
佈建與租戶相關聯的單元時,您必須提供 tenant_project_id 變數。
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Units」。
建立與單元種類相關聯的新單元。
點選「佈建」。
選取「發布」,即可佈建至租戶單元。
選取您在租戶專案中授予權限的啟動用服務帳戶。您應遵循最小權限原則,只授予管理資源所需的角色。
在「輸入變數」部分中:
- 確認
tenant_project_id變數與您在 Terraform 設定variables.tf檔案中定義的變數相同。 - 在「Tenant Project ID」方塊中,提供租戶專案的名稱。
- 提供 Terraform 設定中定義的輸入變數。如果您尚未在 Terraform 設定中定義其他變數,請略過這個步驟。
- 確認
點選「佈建」。
App Lifecycle Manager 會使用指定的啟動用服務帳戶觸發 Infrastructure Manager。Infrastructure Manager 會讀取 tenant_project_id 變數,並在該租戶專案中建立 VM。
使用新版本重新佈建裝置
使用新版本重新佈建現有裝置時,您必須提供 tenant_project_id 變數。
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Units」。
選取與單元種類相關聯的單元。
按一下「編輯帳戶佈建」。
選取您使用更新的 Terraform 設定建立的「版本」。
選取您在租戶專案中授予權限的啟動用服務帳戶。您應遵循最小權限原則,只授予管理資源所需的角色。
在「輸入變數」部分中:
- 確認
tenant_project_id變數與您在 Terraform 設定variables.tf檔案中定義的變數相同。 - 在「Tenant Project ID」方塊中,提供租戶專案的名稱。
- 提供 Terraform 設定中定義的輸入變數。如果您尚未在 Terraform 設定中定義其他變數,請略過這個步驟。
- 確認
按一下「Update」。
App Lifecycle Manager 會使用指定的啟動用服務帳戶觸發 Infrastructure Manager。Infrastructure Manager 會讀取 tenant_project_id 變數,並在該租戶專案中建立 VM。
後續步驟
- 瞭解如何管理單元之間的依附元件。
- 進一步瞭解如何使用變數和變數對應。
- 查看服務帳戶所需的權限。