Mengonfigurasi peniruan identitas akun layanan Cloud Build untuk layanan terkelola

Dokumen ini menjelaskan cara mengonfigurasi akun layanan Cloud Build Anda untuk meniru identitas akun layanan untuk Runtime, Compute Engine, atau App Engine sehingga Anda dapat men-deploy image ke layanan terkelola.

Ringkasan

Saat di-deploy ke layanan terkelola tertentu, image dijalankan menggunakan identitas akun layanan untuk layanan terkelola tersebut. Karena Cloud Build dapat men-deploy instance atau versi baru secara otomatis, akun layanan Cloud Build yang ditentukan atau akun layanan Cloud Build default harus dapat meniru identitas akun layanan layanan terkelola Anda. Persyaratan ini berlaku saat men-deploy ke layanan terkelola berikut:

Layanan Terkelola Akun Layanan
App Engine Akun layanan App Engine
Cloud Run Functions Akun layanan runtime
Cloud Run Identitas layanan
Compute Engine Akun layanan Compute Engine

Menyiapkan peniruan akun layanan

Untuk mengonfigurasi akun layanan Cloud Build agar meniru identitas akun layanan lain, lakukan hal berikut:

console

  1. Buka halaman Izin Cloud Build.

  2. Pilih akun layanan Cloud Build Anda.

  3. Aktifkan peran IAM yang diperlukan untuk layanan terkelola Anda:

    Layanan Terkelola Peran yang Diperlukan
    App Engine Admin App Engine ( roles/appengine.appAdmin )
    Cloud Run Functions Cloud Functions Developer ( roles/cloudfunctions.developer )
    Cloud Run Admin Cloud Run ( roles/run.admin )
    Compute Engine Compute Instance Admin v1 ( roles/compute.instanceAdmin.v1 )

    Cloud Build akan menampilkan panel Assign Service Account User Role.

  4. Pilih akun layanan yang akan ditiru. Misalnya, jika Anda berencana men-deploy ke Compute Engine dan mengaktifkan peran Compute Instance Admin v1, Anda akan memilih akun layanan Compute Engine yang ingin di-impersonate oleh akun layanan Cloud Build.

  5. Klik Beri izin.

gcloud CLI

Di Google Cloud CLI, masukkan perintah berikut:

  gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_TO_IMPERSONATE \
        --member="CLOUD_BUILD_SERVICE_ACCOUNT" \
        --role="roles/iam.serviceAccountUser"

Dengan:

  • SERVICE_ACCOUNT_TO_IMPERSONATE adalah akun layanan yang ingin Anda tiru identitasnya.
  • CLOUD_BUILD_SERVICE_ACCOUNT adalah akun layanan Cloud Build Anda.

Cloud Build menetapkan peran Service Account User (roles/iam.serviceAccountUser) untuk akun layanan yang ingin Anda tiru identitasnya ke akun layanan Cloud Build Anda.

Peran Pengguna Akun Layanan memungkinkan akun utama melampirkan akun layanan ke resource, sehingga akun layanan Cloud Build Anda dapat meniru identitas akun layanan terkelola yang Anda pilih. Untuk mengetahui informasi selengkapnya, lihat Peran Pengguna Akun Layanan dan Melampirkan akun layanan ke resource dalam dokumentasi IAM.