Selama deployment sumber fungsi, Cloud Run memanfaatkan Cloud Build saat mem-build dan men-deploy fungsi Anda.
Halaman ini menunjukkan cara menetapkan akun layanan yang ditentukan pengguna untuk digunakan Cloud Build saat menjalankan build fungsi atas nama Anda. Panduan ini relevan untuk developer platform yang men-deploy fungsi di Cloud Run dan perlu menyesuaikan akun layanan build yang digunakan oleh Cloud Build.
Sebelum memulai
Aktifkan Cloud Build API:
gcloud services enable cloudbuild.googleapis.com
Buat akun layanan, atau memiliki akun layanan yang ada, untuk digunakan sebagai akun layanan untuk Cloud Build.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk men-deploy dari sumber, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Cloud Run Source Developer (
roles/run.sourceDeveloper
) -
Service Account User (
roles/iam.serviceAccountUser
)
Untuk mengizinkan akun layanan yang digunakan untuk Cloud Build melakukan build saat men-deploy fungsi, minta administrator untuk memberi Anda peran IAM berikut di akun layanan Anda:
- Logs Writer
(
roles/logging.logWriter
) — untuk menyimpan log build di Cloud Logging. - Penulis Artifact Registry
(
roles/artifactregistry.writer
) — untuk menyimpan image build di Artifact Registry. - Storage Object Admin
(
roles/storage.objectAdmin
) — untuk mengambil sumber fungsi dari bucket Cloud Storage, dan untuk menyimpan image build di Artifact Registry.
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Menentukan akun layanan Cloud Build
Secara default, jika akun layanan Cloud Build tidak ditentukan saat men-deploy fungsi dari sumber, Cloud Build akan menggunakan akun layanan Cloud Build.
Sebagai praktik terbaik untuk mengikuti prinsip hak istimewa terendah guna meningkatkan postur keamanan fungsi, sebaiknya tentukan akun layanan Anda sendiri untuk menjalankan build saat men-deploy fungsi dari sumber.
gcloud
Anda dapat menentukan akun layanan yang akan digunakan sebagai akun layanan Cloud Build selama penerapan fungsi.
Untuk menentukan akun layanan Cloud Build saat men-deploy fungsi dari kode sumber:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --build-service-account BUILD_SERVICE_ACCOUNT
Ganti:
- SERVICE dengan nama fungsi Cloud Run Anda.
- FUNCTION_ENTRY_POINT dengan titik entri ke fungsi Anda dalam kode sumber. Hapus tanda
--function
untuk menentukan layanan yang di-deploy dari sumber. - BUILD_SERVICE_ACCOUNT dengan akun layanan yang ditentukan pengguna.