Menyiapkan project dan resource tenant

Panduan ini menjelaskan cara menggunakan tenant App Lifecycle Manager untuk mengatur unit yang di-deploy dan cara men-deploy resource ke dalam project tenant terpisah untuk mengisolasi dan mengelola resource Anda.

Untuk mengetahui ringkasan tenant dan project tenant, lihat Tenant dan project tenant.

Sebelum memulai

Sebelum Anda membuat project atau resource tenant:

  1. Buat konfigurasi Terraform, repositori Artifact Registry, dan buat artefak yang berisi aplikasi SaaS di project produser Anda. Lihat men-deploy instance layanan dengan App Lifecycle Manager untuk mempelajari cara menyiapkan penawaran SaaS.
  2. Aktifkan API yang diperlukan oleh App Lifecycle Manager.

    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.

    Aktifkan API

  3. Pastikan Anda memiliki akun layanan dan peran Identity and Access Management 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 produsen.

Menyiapkan project tenant

Saat Anda menyediakan resource tenant ke dalam project terpisah, resource, kebijakan IAM, kuota, dan konfigurasi jaringan Anda akan dipisahkan untuk setiap tenant, sehingga mengurangi kemungkinan pelanggaran atau kesalahan konfigurasi pada satu tenant memengaruhi tenant lainnya.

Anda akan memerlukan:

  • satu project produser, dan
  • satu project tenant untuk setiap tenant Anda.

Konsol

Untuk menyiapkan project tenant dan produser menggunakan konsol Google Cloud :

  1. Buat project produsen dan project tenant untuk setiap tenant Anda.
  2. Aktifkan penagihan di project tenant dan produser Anda.
  3. Aktifkan API yang diperlukan oleh App Lifecycle Manager di project tenant Anda.

    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.

    Aktifkan API

  4. Pastikan project tenant Anda memiliki akun layanan aktuasi dengan izin yang diperlukan.

    Untuk mengetahui detailnya, lihat Akun layanan App Lifecycle Manager.

Anda telah berhasil menyiapkan project tenant dan produser. Setelah membuat dan mengaktifkan penagihan untuk project produsen dan tenant, Anda dapat membuat resource tenant dan mengaitkan unit dengan tenant.

gcloud

Untuk menyiapkan project produsen dan project tenant menggunakan Google Cloud CLI:

  1. Buat project produsen dan project tenant untuk setiap tenant Anda:

    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]
    

    Ganti:

    • PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.
    • TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.
  2. Aktifkan penagihan untuk project produser dan tenant Anda:

     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
    

    Ganti:

    • PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.
    • TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.
    • BILLING_ACCOUNT_ID: ID akun penagihan yang ingin Anda kaitkan dengan project tertentu.
  3. Beri akun layanan aktuasi peran Identity and Access Management yang diperlukan untuk setiap project tenant:

     gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \
     --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \
     --role=ROLE
    

    Ganti:

    • TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.
    • PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.
    • SERVICE_ACCOUNT: Akun layanan yang ingin Anda beri peran dalam project yang ditentukan.
    • ROLE: Peran Identity and Access Management yang akan diberikan.

      Anda harus menjalankan gcloud projects add-iam-policy-binding untuk setiap peran yang ingin Anda berikan ke akun layanan tertentu (--role='roles/compute.admin', misalnya).

Anda telah berhasil menyiapkan project tenant dan produser. Setelah membuat dan mengaktifkan penagihan untuk project produsen dan tenant, Anda dapat membuat resource tenant dan mengaitkan unit dengan tenant.

Membuat resource tenant

Buat resource tenant di penawaran SaaS Anda untuk merepresentasikan pelanggan Anda:

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

    Buka Tenant

  2. Klik Create.

  3. Di kotak Tenant name, masukkan nama untuk resource tenant Anda.

  4. Opsional: Di kotak Customer resource, berikan resource konsumen dengan setelan yang ditentukan konsumen untuk integrasi.

  5. Di kotak Penawaran SaaS, pilih penawaran SaaS yang ingin Anda kaitkan dengan tenant Anda.

  6. Di drop-down Region, pilih region tempat metadata tenant akan disimpan.

  7. Opsional: Klik Tambahkan label untuk menambahkan label pasangan nilai kunci ke tenant Anda.

  8. Klik Create untuk membuat resource tenant.

Anda telah berhasil membuat resource tenant.

Mengaitkan unit dengan penyewa

Setelah membuat tenant dan men-deploy unit, Anda dapat menautkannya satu sama lain. Asosiasi ini terutama berfungsi sebagai tag organisasi yang membantu Anda mengatur unit mana yang termasuk dalam tenant mana.

Untuk mengetahui informasi selengkapnya tentang men-deploy unit, lihat Men-deploy VM dengan App Lifecycle Manager.

Untuk mengaitkan unit dengan penyewa:

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

    Buka Tenant

  2. Klik nama penyewa yang ingin Anda kaitkan dengan unit.

  3. Klik Edit.

  4. Di bagian Unit terkait, klik Tambahkan Unit.

  5. Pilih unit yang ingin Anda kaitkan dengan penyewa ini.

  6. Klik Done.

  7. Klik Simpan.

Unit yang dipilih dikaitkan dengan penyewa yang ditunjukkan.

Menyediakan unit baru dengan variabel project tenant

Saat menyediakan unit yang terkait dengan tenant, Anda harus memberikan variabel tenant_project_id.

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

    Buka Unit

  2. Buat unit baru yang terkait dengan jenis unit Anda.

  3. Klik Provision.

  4. Pilih Rilis yang akan disediakan untuk unit tenant Anda.

  5. Pilih akun layanan Actuation yang Anda beri izin di project tenant. Anda harus mengikuti prinsip hak istimewa terendah dan hanya memberikan peran yang diperlukan untuk resource yang dikelola.

  6. Di bagian Variabel Input:

    1. Pastikan variabel tenant_project_id tercantum seperti yang Anda tentukan di file variables.tf konfigurasi Terraform Anda.
    2. Di kotak Tenant Project ID, berikan nama project tenant Anda.
    3. Memberikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
  7. Klik Provision.

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

Menyediakan ulang unit dengan rilis baru

Saat mem-provision ulang unit yang ada dengan rilis baru, Anda harus memberikan variabel tenant_project_id.

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

    Buka Unit

  2. Pilih unit yang terkait dengan jenis unit Anda.

  3. Klik Edit Provisioning.

  4. Pilih Rilis yang Anda buat dengan konfigurasi Terraform yang diperbarui.

  5. Pilih akun layanan Actuation yang Anda beri izin di project tenant. Anda harus mengikuti prinsip hak istimewa terendah dan hanya memberikan peran yang diperlukan untuk resource yang dikelola.

  6. Di bagian Variabel Input:

    1. Pastikan variabel tenant_project_id tercantum seperti yang Anda tentukan di file variables.tf konfigurasi Terraform Anda.
    2. Di kotak Tenant Project ID, berikan nama project tenant Anda.
    3. Memberikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
  7. Klik Update.

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

Langkah berikutnya