Menetapkan akun layanan build (deploy sumber)

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

  1. Aktifkan Cloud Build API:

    gcloud services enable cloudbuild.googleapis.com
  2. 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:

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.