將單位與房客建立關聯
在本快速入門導覽課程中,您將修改 SaaS 產品,將部署的 VM 單位與租戶資源建立關聯,並在租戶擁有的專屬租戶專案中佈建 VM。
這種做法可強化資源隔離,讓您分別管理每個租戶的資源,並為 SaaS 產品提供更完善的安全性和合規性。
我們會以使用 App Lifecycle Manager 部署 VM 快速入門導覽課程中的情境為基礎,修改情境,將部署的 VM 單位與租戶資源建立關聯,並將 VM 佈建到租戶擁有的專屬專案中:
- 在 App Lifecycle Manager 中建立租戶資源。
- 將 VM 與租戶資源建立關聯。
- 設定 App Lifecycle Manager 和 Terraform 設定,將資源部署到個別的租戶專案。
- 解決跨專案部署時常見的權限和 API 啟用問題。
完成本快速入門導覽課程後,您將建立多租戶 SaaS 產品的基礎,並透過建立租戶並將其與單元建立關聯,設定租戶層級的設定和政策。
事前準備
建立或將房客與單元建立關聯前,您應先瞭解 App Lifecycle Manager 生態系統的基本概念,並建立 SaaS 產品。
-
登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
使用 App Lifecycle Manager 部署 VM,包括建立 Terraform 設定、Artifact Registry 存放區、SaaS 產品、單元類型、單元和元件 (包括
terraform-files.zip)。- 確認生產者專案已啟用快速入門指南「開始前」一節中列出的 API。
- 確認您在生產者專案中已授予必要的服務帳戶和 IAM 角色。包括使用者建立的服務帳戶,以及在生產者專案中授予
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com帳戶的權限。
建立及關聯租戶資源前,請先建立生產端專案和所有租戶專案。詳情請參閱「設定租戶專案」。
建立及關聯租戶資源
您可以使用租戶將單元資源分組。在生產者專案的 SaaS 產品中建立租戶資源,代表您的客戶:
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Tenants」。
點選「建立」。
在「建立租戶」頁面的「租戶名稱」方塊中,輸入
vm-quickstart-tenant。在「SaaS 產品」方塊中,選取
vm-quickstart-saas-offering。在「Region」(區域) 下拉式選單中,選取「
us-central1」。按一下「新增單元」。系統會顯示「新單元」部分。
在「單位」下拉式選單中,選取單位。
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit按一下「完成」,將
vm-quickstart-unit資源與vm-quickstart-tenant資源建立關聯。按一下「建立」即可建立房客資源。您已成功建立
vm-quickstart-tenant資源,並將其與vm-quickstart-unit資源建立關聯。這項關聯主要是在Google Cloud 控制台中做為機構組織標記,協助您識別哪些裝置屬於哪個租戶。
建立租戶版本
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Releases」。
在「發行內容」頁面,按一下「建立」。
在「建立新版本」頁面的「版本名稱」方塊中,輸入
vm-quickstart-tenant-release。在「單元種類」方塊中,選取「
vm-quickstart-unit-kind」。點選「下一步」。在「選取藍圖」步驟中,按一下「從 Artifact Registry 選取現有映像檔」切換按鈕。
在「Store Blueprint」(儲存藍圖) 步驟中,按一下「Browse」(瀏覽),然後選取與
vm-quickstart-tenant-blueprint相關聯的構件。按一下「Next」(下一步)。點按「Create」(建立)。您已成功建立
vm-quickstart-tenant-release資源。
建立租戶專案並部署單元
在「使用 App Lifecycle Manager 部署 VM」快速入門中,您會將 App Lifecycle Manager 資源佈建到包含 SaaS 產品設定的專案中。
在本快速入門導覽課程中,您會將資源佈建至租戶專案,而不是生產者專案。
您需要在單元佈建期間傳遞已修改的變數 tenant_project_id 和 tenant_project_number。
建立要部署
terraform-vm.zip檔案的租戶專案:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"在租戶專案中啟用 API 並授予 IAM 角色。如要在租戶專案中部署裝置,您必須啟用 Compute Engine API,並授予租戶專案的 IAM 角色。
在租戶專案中啟用 API
使用 Google Cloud 主控台在租戶專案中啟用 Compute Engine API:
前往專案選取器。
按一下 [Select a project] (選取專案)。
選取「
quickstart-tenant-project」。啟用 Compute Engine API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。請確認您在專案中具備下列角色: roles/compute.admin
檢查角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
-
在「主體」欄中,找出所有識別您或您所屬群組的資料列。如要瞭解自己所屬的群組,請與管理員聯絡。
- 針對指定或包含您的所有列,請檢查「角色」欄,確認角色清單是否包含必要角色。
授予角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
- 按一下「Grant access」(授予存取權)。
-
在「New principals」(新增主體) 欄位中,輸入您的使用者 ID。 這通常是指 Google 帳戶的電子郵件地址。
- 按一下「選取角色」,然後搜尋角色。
- 如要授予其他角色,請按一下「Add another role」(新增其他角色),然後新增其他角色。
- 按一下「Save」(儲存)。
-
使用租戶專案變數佈建單元
在生產端專案中,使用租戶專案的輸入變數佈建新單元:
前往專案選取器。
按一下 [Select a project] (選取專案)。
選取生產端專案。
在 Google Cloud 控制台中,依序前往「App Lifecycle Manager」 >「Units」。
選取
vm-quickstart-unit資源。點選「佈建」。
選取
vm-quickstart-tenant-release資源。選取您在租戶專案中授予權限的啟動用服務帳戶。
在「輸入變數」部分中:
tenant_project_id變數會列出您在variables.tf中定義的內容。- 在「Tenant Project ID」(租戶專案 ID) 方塊中輸入
quickstart-tenant-project。
點選「佈建」。
App Lifecycle Manager 會使用指定的啟動用服務帳戶觸發 Infrastructure Manager。Infrastructure Manager 會讀取 tenant_project_id 變數,並在該租戶專案中建立 VM。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。
- 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。
- 從專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
- 收到提示時,請輸入專案 ID,然後點選「Shut down」(關閉)。
後續步驟
- 進一步瞭解如何設定用戶群專案和資源。
- 使用變數和變數對應,調度管理複雜的 SaaS 產品 (包括自動資源佈建)。