Tenant App Lifecycle Manager memungkinkan Anda mengatur unit yang di-deploy dan men-deploy resource ke dalam project tenant terpisah untuk membantu mengisolasi dan mengelola infrastruktur Anda.
Untuk ringkasan tentang tenant dan project tenant, lihat Tenant dan project tenant.
Sebelum memulai
Sebelum Anda membuat project atau resource tenant:
- Buat konfigurasi Terraform, repositori Artifact Registry, dan artefak yang berisi aplikasi SaaS Anda di project produsen. Untuk mempelajari cara membuat dan mengupload blueprint, lihat Membuat dan mengupload blueprint. Untuk mempelajari cara menyiapkan penawaran SaaS, lihat Panduan memulai: Men-deploy aplikasi dengan App Lifecycle Manager.
Aktifkan API yang diperlukan oleh App Lifecycle Manager.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Pastikan akun layanan yang diperlukan telah dibuat dan peran Identity and Access Management yang diperlukan telah diberikan dalam project produsen. Hal ini mencakup akun layanan yang dibuat pengguna dan peran yang diberikan ke agen layanan
service-PROJECT_NUMBER@gcp-sa-saasservicemgmt.di project produsen, denganPROJECT_NUMBERadalah nomor project dari project produsen Anda.
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 dengan satu tenant yang memengaruhi tenant lainnya.
Anda memerlukan hal berikut:
- Satu project produsen
Satu project tenant untuk setiap tenant
Konsol
Untuk menyiapkan project tenant dan produsen menggunakan konsol Google Cloud :
- 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 izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Pastikan project tenant Anda memiliki akun layanan aktuasi dengan izin yang diperlukan.
Untuk mengetahui detailnya, lihat Akun layanan App Lifecycle Manager.
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" gcloud projects create \ TENANT_PROJECT_ID \ --name="SaaS tenant A project"Ganti kode berikut:
PRODUCER_PROJECT_ID: project ID produsenTENANT_PROJECT_ID: project ID tenant
Aktifkan penagihan untuk project tenant dan produsen Anda:
gcloud billing projects link \ PRODUCER_PROJECT_ID \ --billing-account=BILLING_ACCOUNT_ID gcloud billing projects link \ TENANT_PROJECT_ID \ --billing-account=BILLING_ACCOUNT_IDGanti kode berikut:
BILLING_ACCOUNT_ID: ID akun penagihan yang ingin Anda kaitkan dengan project yang ditentukan
Aktifkan API yang diperlukan oleh App Lifecycle Manager di project tenant Anda:
gcloud services enable \ saasservicemgmt.googleapis.com \ artifactregistry.googleapis.com \ config.googleapis.com \ developerconnect.googleapis.com \ cloudbuild.googleapis.com \ storage.googleapis.com \ --project=TENANT_PROJECT_IDBerikan peran IAM yang diperlukan kepada akun layanan aktuasi untuk setiap project tenant:
gcloud projects add-iam-policy-binding \ TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_ID@PRODUCER_PROJECT_ID.' \ --role=ROLEGanti kode berikut:
SERVICE_ACCOUNT_ID: ID akun layanan aktuasiROLE: peran IAM yang akan diberikan (misalnya,roles/compute.admin)
Jalankan
gcloud projects add-iam-policy-bindinguntuk setiap peran yang ingin Anda berikan ke akun layanan yang ditentukan.
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 dalam penawaran SaaS Anda untuk mewakili pelanggan Anda:
Di konsol Google Cloud , buka App Lifecycle Manager > Tenants.
Klik Create.
Di kolom Tenant name, masukkan nama untuk resource tenant Anda.
Opsional: Di kolom Consumer resource, masukkan resource konsumen dengan setelan yang ditentukan konsumen untuk integrasi.
Dalam daftar SaaS offering, pilih penawaran SaaS yang ingin Anda kaitkan dengan tenant.
Dari daftar Region, pilih region tempat metadata tenant disimpan.
Opsional: Klik Add label untuk menambahkan label ke tenant Anda sebagai pasangan nilai kunci.
Klik Create.
Mengaitkan unit dengan tenant
Setelah membuat tenant dan men-deploy unit, Anda dapat menautkannya satu sama lain. Pengaitan 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 penawaran SaaS.
Untuk mengaitkan unit dengan penyewa:
Di konsol Google Cloud , buka App Lifecycle Manager > Tenants.
Klik nama tenant yang ingin Anda kaitkan dengan unit.
Klik Edit.
Di bagian Select a unit to be included in the tenant., klik Add unit.
Dalam daftar Unit, pilih unit yang ingin Anda kaitkan dengan tenant ini.
Klik Done.
Klik Simpan.
Unit yang dipilih terkait dengan tenant yang ditunjukkan.
Menyediakan unit baru dengan variabel project tenant
Saat menyediakan unit yang terkait dengan tenant, Anda harus memberikan variabel tenant_project_id dan tenant_project_number.
Di konsol Google Cloud , buka App Lifecycle Manager > Units.
Buat unit baru yang terkait dengan jenis unit Anda.
Klik Provision.
Pilih Release untuk menyediakan unit tenant Anda.
Di bagian Actuation service account, dalam daftar Service account, pilih akun layanan yang Anda beri peran di project tenant. Ikuti prinsip hak istimewa terendah dan hanya berikan peran yang diperlukan untuk resource yang dikelola.
Di bagian Other input variables:
- Klik Add tenant project variables,
lalu pilih project tenant Anda untuk mengisi variabel
tenant_project_iddantenant_project_number. - Opsional: Klik Add input variable untuk memasukkan variabel input lain yang ditentukan dalam konfigurasi Terraform Anda.
- Klik Add tenant project variables,
lalu pilih project tenant Anda untuk mengisi variabel
Klik Provision.
App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan aktuasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id
dan tenant_project_number, lalu menyediakan resource Terraform
di dalam project tenant tersebut.
Menyediakan ulang unit dengan rilis baru
Saat menyediakan ulang unit yang ada dengan rilis baru, Anda harus memberikan
variabel tenant_project_id dan tenant_project_number.
Di konsol Google Cloud , buka App Lifecycle Manager > Units.
Pilih unit yang terkait dengan jenis unit Anda.
Klik Upgrade.
Pilih Release yang Anda buat dengan konfigurasi Terraform yang telah diperbarui.
Di bagian Actuation service account, dalam daftar Service account, pilih akun layanan yang Anda beri peran di project tenant. Ikuti prinsip hak istimewa terendah dan hanya berikan peran yang diperlukan untuk resource yang dikelola.
Di bagian Other input variables:
- Klik Add tenant project variables,
lalu pilih project tenant Anda untuk mengisi variabel
tenant_project_iddantenant_project_number. - Opsional: Klik Add input variable untuk memasukkan variabel input lain yang ditentukan dalam konfigurasi Terraform Anda.
- Klik Add tenant project variables,
lalu pilih project tenant Anda untuk mengisi variabel
Klik Upgrade.
App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan aktuasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id
dan tenant_project_number, lalu mengupdate resource Terraform 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.