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 membuat project atau resource tenant:

  1. Buat konfigurasi Terraform, repositori Artifact Registry, dan buat artefak yang berisi aplikasi SaaS Anda di project produsen. 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 produsen. 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 kemungkinan pelanggaran atau kesalahan konfigurasi dengan satu tenant akan memengaruhi tenant lainnya.

Anda akan memerlukan:

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

Konsol

Untuk menyiapkan project tenant dan produsen menggunakan Google Cloud konsol:

  1. Buat project produsen, dan project tenant untuk setiap tenant Anda.
  2. Aktifkan penagihan di project tenant dan produsen 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 aktivasi dengan izin yang diperlukan.

    Untuk mengetahui detailnya, lihat Akun layanan App Lifecycle Manager.

Anda telah berhasil menyiapkan project tenant dan produsen. 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 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 tenant dan produsen 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 yang ditentukan.
  3. Beri akun layanan aktivasi 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 yang ditentukan (--role='roles/compute.admin', misalnya).

Anda telah berhasil menyiapkan project tenant dan produsen. 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 mewakili 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 SaaS offering, pilih penawaran SaaS yang ingin Anda kaitkan dengan tenant Anda.

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

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

  8. Klik Create untuk membuat resource tenant Anda.

Anda telah berhasil membuat resource tenant.

Mengaitkan unit dengan tenant

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 tenant:

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

    Buka Tenant

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

  3. Klik Edit.

  4. Di bagian Associated units, klik Add Unit.

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

  6. Klik Done.

  7. Klik Save.

Unit yang dipilih dikaitkan dengan tenant yang ditunjukkan.

Menyediakan unit baru dengan variabel project tenant

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

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

    Buka Unit

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

  3. Klik Provision.

  4. Pilih Release untuk disediakan ke unit tenant Anda.

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

  6. Di bagian Input Variables:

    1. Pastikan variabel tenant_project_id tercantum seperti yang Anda tentukan dalam file variables.tf konfigurasi Terraform Anda.
    2. Di kotak Tenant Project ID, berikan nama project tenant Anda.
    3. Berikan 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 aktivasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.

Menyediakan kembali unit dengan rilis baru

Saat Anda menyediakan kembali unit yang ada dengan rilis baru, Anda harus memberikan variabel tenant_project_id.

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

    Buka Unit

  2. Pilih unit yang terkait dengan jenis unit Anda.

  3. Klik Edit Provisioning.

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

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

  6. Di bagian Input Variables:

    1. Pastikan variabel tenant_project_id tercantum seperti yang Anda tentukan dalam file variables.tf konfigurasi Terraform Anda.
    2. Di kotak Tenant Project ID, berikan nama project tenant Anda.
    3. Berikan 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 aktivasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.

Langkah berikutnya