Mengaitkan unit dengan tenant

Dalam panduan memulai ini, Anda akan mengubah penawaran SaaS untuk mengaitkan unit VM yang di-deploy dengan resource tenant, dan menyediakan VM ke dalam project tenant khusus yang dimiliki oleh tenant Anda.

Pendekatan ini meningkatkan isolasi resource, yang memungkinkan Anda mengelola resource untuk setiap tenant secara terpisah dan memberikan keamanan serta kepatuhan yang lebih baik untuk penawaran SaaS Anda.

Kita akan membangun skenario dari panduan memulai Men-deploy VM dengan App Lifecycle Manager, dan mengubahnya untuk mengaitkan unit VM yang di-deploy dengan resource tenant dan menyediakan VM ke dalam project khusus yang dimiliki oleh tenant:

  1. Buat resource tenant di App Lifecycle Manager.
  2. Kaitkan VM dengan resource tenant.
  3. Konfigurasi App Lifecycle Manager dan konfigurasi Terraform Anda untuk men-deploy resource ke dalam project tenant terpisah.
  4. Atasi masalah umum terkait izin dan pengaktifan API saat men-deploy lintas project.

Pada akhir panduan memulai ini, Anda akan membuat dasar untuk penawaran SaaS dengan beberapa tenant yang memungkinkan Anda menetapkan konfigurasi dan kebijakan tingkat tenant dengan membuat tenant dan mengaitkannya dengan unit.

Sebelum memulai

Sebelum membuat tenant atau mengaitkannya dengan unit, Anda harus memiliki pengetahuan tentang dasar-dasar ekosistem App Lifecycle Manager, dan membuat penawaran SaaS.

  1. Sign in to your Google Cloud account. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

  2. Deploy VM dengan App Lifecycle Manager, termasuk membuat konfigurasi Terraform, repositori Artifact Registry, penawaran SaaS, jenis unit, unit, dan komponen (termasuk terraform-files.zip).

    • Pastikan API yang tercantum di bagian panduan memulai Sebelum memulai diaktifkan di project produser Anda.
    • Pastikan Anda memiliki akun layanan dan peran IAM yang diperlukan yang diberikan dalam project produser. Hal ini mencakup akun layanan yang dibuat pengguna dan izin yang diberikan ke akun service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com di project produser.
  3. Project produser dan project tenant harus dibuat sebelum Anda membuat dan mengaitkan resource tenant. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project tenant.

Membuat dan mengaitkan resource tenant

Anda dapat menggunakan tenant untuk mengelompokkan resource unit. Buat resource tenant di penawaran SaaS project produser Anda untuk mewakili pelanggan Anda:

  1. Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.

    Buka Tenants

  2. Klik Create.

  3. Di halaman Create tenant, masukkan vm-quickstart-tenant di kotak Tenant name.

  4. Di kotak SaaS offering, pilih vm-quickstart-saas-offering.

  5. Di menu drop-down Region, pilih us-central1.

  6. Klik Add unit. Bagian New unit akan muncul.

  7. Di menu drop-down Unit, pilih unit projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.

  8. Klik Done untuk mengaitkan resource vm-quickstart-unit dengan resource vm-quickstart-tenant.

  9. Klik Create untuk membuat resource tenant. Anda telah berhasil membuat resource vm-quickstart-tenant dan mengaitkannya dengan resource vm-quickstart-unit. Asosiasi ini terutama berfungsi sebagai tag organisasi dalam Google Cloud konsol, yang membantu Anda mengidentifikasi unit mana yang termasuk dalam tenant mana.

Membuat rilis tenant

  1. Di Google Cloud konsol, buka App Lifecycle Manager > Releases.

    Buka Releases

  2. Di halaman Releases, klik Create.

  3. Di halaman Create Release, masukkan vm-quickstart-tenant-release di kotak Release name.

  4. Di kotak Unit kind, pilih vm-quickstart-unit-kind. Klik Next.

  5. Pada langkah Select Blueprint, klik tombol Select an existing image from Artifact Registry.

  6. Pada langkah Store Blueprint, klik Browse dan pilih artefak yang terkait dengan vm-quickstart-tenant-blueprint. Klik Next.

  7. Klik Create. Anda telah berhasil membuat resource vm-quickstart-tenant-release.

Membuat project tenant dan men-deploy unit

Dalam panduan memulai Men-deploy VM dengan App Lifecycle Manager, Anda menyediakan resource App Lifecycle Manager ke dalam project yang sama yang berisi konfigurasi penawaran SaaS Anda.

Dalam panduan memulai ini, Anda akan mengarahkan penyediaan resource ke project tenant , bukan project produser.

Anda harus meneruskan variabel tenant_project_id dan tenant_project_number yang diubah selama penyediaan unit.

  1. Buat project tenant tempat Anda akan men-deploy file terraform-vm.zip:

    gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"
    
  2. Aktifkan API dan berikan peran IAM di project tenant. Untuk men-deploy unit ke project tenant, Anda harus mengaktifkan Compute Engine API dan memberikan peran IAM di project tenant.

Mengaktifkan API di project tenant

Aktifkan Compute Engine API di project tenant menggunakan Google Cloud konsol:

  1. Buka pemilih project.

    Buka pemilih project

  2. Klik Select a project.

  3. Pilih quickstart-tenant-project.

  4. Aktifkan Compute Engine API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

  5. Pastikan Anda memiliki peran berikut di project: roles/compute.admin

    Memeriksa peran

    1. Di Google Cloud konsol, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Principal, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda ikuti. Untuk mempelajari grup mana yang Anda ikuti, hubungi administrator Anda.

    4. Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Role untuk melihat apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di Google Cloud konsol, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Grant access.
    4. Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.

    5. Klik Select a role, lalu telusuri peran.
    6. Untuk memberikan peran tambahan, klik Add another role , lalu tambahkan tiap peran tambahan.
    7. Klik Save.

Menyediakan unit dengan variabel project tenant

Dari project produser Anda, sediakan unit baru dengan variabel input project tenant Anda:

  1. Buka pemilih project.

    Buka pemilih project

  2. Klik Select a project.

  3. Pilih project produser Anda.

  4. Buka App Lifecycle Manager > Units di Google Cloud konsol.

    Buka Units

  5. Pilih resource vm-quickstart-unit.

  6. Klik Provision.

  7. Pilih resource vm-quickstart-tenant-release.

  8. Pilih Actuation service account yang Anda berikan izin di project tenant.

  9. Di bagian Input Variables:

    • Variabel tenant_project_id tercantum seperti yang Anda tentukan di variables.tf.
    • Di kotak Tenant Project ID, masukkan quickstart-tenant-project.
  10. Klik Provision.

App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan aktuasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.

Pembersihan

Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud

Google Cloud
  1. Di Google Cloud konsol, buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
  3. Pada layar perintah, ketik project ID, lalu klik Matikan.

Langkah berikutnya