Saat melihat pratinjau dan men-deploy aplikasi, developer dapat menggunakan akun layanan yang ada, atau Pusat Desain Aplikasi dapat membuat akun layanan baru secara otomatis. Jika Anda ingin developer menggunakan akun layanan Anda, Anda harus melakukan hal berikut:
- Tambahkan binding kebijakan IAM ke akun layanan dan akun pengguna.
- Berikan peran yang diperlukan ke akun layanan untuk men-deploy setiap resource.
- Tambahkan izin ke akun layanan untuk men-deploy di luar project tempat akun layanan dibuat.
- Perbarui kebijakan organisasi Anda untuk mengizinkan penggunaan akun layanan di seluruh project.
Untuk mengonfigurasi akun layanan Anda, lakukan hal berikut:
Tambahkan binding kebijakan IAM untuk peran
roles/iam.serviceAccountUserbagi 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. Contoh,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 dari project yang berisi akun layanan Anda.
Tambahkan binding kebijakan IAM untuk peran
roles/iam.serviceAccountUserbagi 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. Contoh,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 dari 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 tempat Anda men-deploy resource.
Pusat Desain Aplikasi menggunakan Infrastructure Manager untuk men-deploy aplikasi di konsol. Untuk menggunakan akun layanan Anda sendiri guna men-deploy dengan Infrastructure Manager, selesaikan langkah-langkah di Memberi akses ke project.
Jika aplikasi yang Anda deploy berisi komponen pribadi yang Anda impor melalui koneksi Developer Connect, lakukan hal berikut:
Beri akun layanan Anda peran
roles/iam.serviceAccountTokenCreatordi 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 dari project yang berisi akun layanan Anda.SERVICE_ACCOUNT_EMAIL: Email akun layanan Anda. Contoh,my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.
Langkah berikutnya
- Pahami siklus proses aplikasi di Kelola aplikasi.
- Men-deploy aplikasi dari konsol.