Saat developer melihat pratinjau dan men-deploy aplikasi, mereka dapat menggunakan akun layanan yang ada, atau App Design Center dapat otomatis membuat akun layanan baru.
Untuk men-deploy menggunakan akun layanan Anda sendiri, Anda harus memberikan peran dan izin Identity and Access Management yang diperlukan. Dokumen ini menunjukkan cara memberikan peran dan mengonfigurasi akun layanan Anda, termasuk hal berikut:
- Menambahkan binding kebijakan IAM ke akun layanan dan akun pengguna.
- Memberikan peran yang diperlukan ke akun layanan untuk men-deploy setiap resource.
- Menambahkan izin ke akun layanan untuk men-deploy di luar project tempat akun layanan dibuat.
- Memperbarui kebijakan organisasi Anda untuk mengizinkan akun layanan digunakan di seluruh project.
Mengonfigurasi akun layanan Anda
Untuk mengonfigurasi akun layanan Anda, lakukan hal berikut:
Tambahkan binding kebijakan IAM untuk peran
roles/iam.serviceAccountUseruntuk agen layanan ke akun layanan Anda:gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \ --member="serviceAccount:service-SERVICE_ACCOUNT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountUser"Ganti kode berikut:
SERVICE_ACCOUNT_EMAIL: Email akun layanan Anda. Misalnya,my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.SERVICE_ACCOUNT_PROJECT_ID: Project ID project yang berisi akun layanan Anda.SERVICE_ACCOUNT_PROJECT_NUMBER: Nomor project project yang berisi akun layanan Anda.
Tambahkan binding kebijakan IAM untuk peran
roles/iam.serviceAccountUseruntuk pengguna ke akun layanan Anda:gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Ganti kode berikut:
SERVICE_ACCOUNT_EMAIL: Email akun layanan Anda. Misalnya,my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.USER_EMAIL: Email pengguna untuk pengguna yang melakukan deployment.
Di project yang memiliki akun layanan Anda, tambahkan binding kebijakan IAM untuk peran agen layanan yang diperlukan di project pengelolaan yang berisi ruang Anda:
gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/apphub.editor"gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/config.agent"gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/serviceusage.serviceUsageAdmin"Ganti kode berikut:
SERVICE_ACCOUNT_PROJECT_ID: Project ID project yang berisi akun layanan Anda.MANAGEMENT_PROJECT_NUMBER: Nomor project project pengelolaan yang berisi ruang Anda.
Di project yang memiliki akun layanan Anda, pastikan batasan kebijakan organisasi
iam.disableCrossProjectServiceAccountUsagetidak diterapkan. Batasan ini diterapkan secara default.Untuk menonaktifkan penerapan batasan kebijakan organisasi, jalankan perintah berikut:
gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project=SERVICE_ACCOUNT_PROJECT_IDGanti kode berikut:
SERVICE_ACCOUNT_PROJECT_ID: Project ID project yang berisi akun layanan Anda.
Berikan peran yang diperlukan ke akun layanan Anda untuk men-deploy resource di project. Peran yang diperlukan ditampilkan saat developer men-deploy aplikasi.
Misalnya, untuk memberikan peran
roles/run.admin, tambahkan binding kebijakan berikut:gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-DEPLOYMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/run.admin"Ganti kode berikut:
SERVICE_ACCOUNT_PROJECT_ID: Project ID project yang berisi akun layanan Anda.DEPLOYMENT_PROJECT_NUMBER: Nomor project project tempat Anda men-deploy resource.
App Design Center menggunakan Infrastructure Manager untuk men-deploy aplikasi di konsol. Untuk menggunakan akun layanan Anda sendiri untuk men-deploy dengan Infrastructure Manager, selesaikan langkah-langkah di Memberikan akses di beberapa project.
Jika aplikasi yang Anda deploy berisi komponen pribadi yang Anda impor melalui koneksi Developer Connect, lakukan hal berikut:
Berikan peran
roles/iam.serviceAccountTokenCreatorke akun layanan Anda di project tempat Anda membuat akun layanan.gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"Ganti kode berikut:
SERVICE_ACCOUNT_PROJECT_ID: Project ID project yang berisi akun layanan Anda.SERVICE_ACCOUNT_EMAIL: Email akun layanan Anda. Misalnya,my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.
Langkah berikutnya
- Pelajari cara memperbarui, menskalakan, dan menghapus resource Anda dengan mengelola aplikasi.
- Sediakan infrastruktur Anda dengan konsol atau command line dengan men-deploy aplikasi.