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 menyetel akun layanan yang ditentukan pengguna yang digunakan Cloud Build saat menjalankan build fungsi tersebut di nama Anda. Panduan ini relevan bagi developer platform yang men-deploy fungsi di Cloud Run dan perlu menyesuaikan 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 miliki akun layanan yang ada, untuk digunakan sebagai akun layanan untuk Cloud Build.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda butuhkan untuk men-deploy dari sumber, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:

Untuk mengizinkan akun layanan yang digunakan Cloud Build untuk melakukan ketika men-deploy fungsi, minta administrator untuk memberi Anda peran IAM berikut di akun layanan Anda:

  • Penulis Log (roles/logging.logWriter) — untuk menyimpan log build di Cloud Logging.
  • Penulis Artifact Registry (roles/artifactregistry.writer) — untuk menyimpan image build di dan 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 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 Cloud Build akun layanan selama deployment suatu 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 Cloud Run Anda fungsi tersebut.
  • FUNCTION_ENTRY_POINT dengan titik entri ke fungsi Anda di kode sumber Anda. Hapus tanda --function untuk menentukan layanan yang di-deploy dari sumber.
  • BUILD_SERVICE_ACCOUNT dengan akun layanan yang ditentukan pengguna.