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:
- 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.
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 izinserviceusage.services.enable. Pelajari cara memberikan peran.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.comdi 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:
- Buat project produsen, dan project tenant untuk setiap tenant Anda.
- Aktifkan penagihan di project tenant dan produsen Anda.
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 izinserviceusage.services.enable. Pelajari cara memberikan peran.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:
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.
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_IDGanti:
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.
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=ROLEGanti:
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-bindinguntuk 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:
Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.
Klik Create.
Di kotak Tenant name, masukkan nama untuk resource tenant Anda.
Opsional: Di kotak Customer resource, berikan resource konsumen dengan setelan yang ditentukan konsumen untuk integrasi.
Di kotak SaaS offering, pilih penawaran SaaS yang ingin Anda kaitkan dengan tenant Anda.
Di menu drop-down Region, pilih region tempat metadata tenant akan disimpan.
Opsional: Klik Add label untuk menambahkan label pasangan nilai kunci ke tenant Anda.
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:
Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.
Klik nama tenant yang ingin Anda kaitkan dengan unit.
Klik Edit.
Di bagian Associated units, klik Add Unit.
Pilih unit yang ingin Anda kaitkan dengan tenant ini.
Klik Done.
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.
Buka App Lifecycle Manager > Units di Google Cloud konsol.
Buat unit baru yang terkait dengan jenis unit Anda.
Klik Provision.
Pilih Release untuk disediakan ke unit tenant Anda.
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.
Di bagian Input Variables:
- Pastikan variabel
tenant_project_idtercantum seperti yang Anda tentukan dalam filevariables.tfkonfigurasi Terraform Anda. - Di kotak Tenant Project ID, berikan nama project tenant Anda.
- Berikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
- Pastikan variabel
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.
Buka App Lifecycle Manager > Units di Google Cloud konsol.
Pilih unit yang terkait dengan jenis unit Anda.
Klik Edit Provisioning.
Pilih Release yang Anda buat dengan konfigurasi Terraform yang diperbarui.
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.
Di bagian Input Variables:
- Pastikan variabel
tenant_project_idtercantum seperti yang Anda tentukan dalam filevariables.tfkonfigurasi Terraform Anda. - Di kotak Tenant Project ID, berikan nama project tenant Anda.
- Berikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
- Pastikan variabel
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
- Pelajari cara mengelola dependensi antar-unit.
- Pelajari lebih lanjut cara menggunakan variabel dan pemetaan variabel.
- Tinjau izin yang diperlukan untuk akun layanan.