Configura l'impersonificazione del account di servizio Cloud Build per i servizi gestiti

Questo documento spiega come configurare il account di servizio Cloud Build per assumere l'identità di service account per Runtime, Compute Engine o App Engine in modo da poter eseguire il deployment delle immagini nei servizi gestiti.

Panoramica

Quando un'immagine viene implementata in servizi gestiti specifici, viene eseguita utilizzando l'identità del account di servizio per quel servizio gestito. Poiché Cloud Build può eseguire il deployment automatico di nuove istanze o versioni, l'account di servizio Cloud Build specificato o l'account di servizio Cloud Build predefinito deve essere in grado di rappresentare il service account del tuo servizio gestito. Questo requisito si applica quando il deployment viene eseguito nei seguenti servizi gestiti:

Servizio gestito Service account
App Engine Service account App Engine
Funzioni Cloud Run Service account di runtime
Cloud Run Identità del servizio
Compute Engine Service account Compute Engine

Configurare la rappresentazione dell'identità del account di servizio

Per configurare il account di servizio Cloud Build in modo che rappresenti un altroaccount di serviziot:

console

  1. Vai alla pagina Autorizzazioni di Cloud Build.

  2. Seleziona il account di servizio Cloud Build.

  3. Abilita il ruolo IAM richiesto per il tuo servizio gestito:

    Servizio gestito Ruolo richiesto
    App Engine Amministratore App Engine ( roles/appengine.appAdmin )
    Funzioni Cloud Run Cloud Functions Developer ( roles/cloudfunctions.developer )
    Cloud Run Amministratore di Cloud Run ( roles/run.admin )
    Compute Engine Amministratore istanze Compute v1 ( roles/compute.instanceAdmin.v1 )

    Cloud Build mostra il riquadro Assegna ruolo Service Account User.

  4. Scegli un account di servizio da rappresentare. Ad esempio, se prevedi di eseguire il deployment su Compute Engine e hai attivato il ruolo Amministratore istanze Compute v1, scegli il account di servizio Compute Engine che vuoi che il account di servizio Cloud Build rappresenti.

  5. Fai clic su Concedi autorizzazione.

Interfaccia a riga di comando gcloud

In Google Cloud CLI, inserisci quanto segue:

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

Dove:

  • SERVICE_ACCOUNT_TO_IMPERSONATE è il account di servizio di cui vuoi simulare l'identità.
  • CLOUD_BUILD_SERVICE_ACCOUNT è il tuo account di servizio Cloud Build.

Cloud Build assegna al tuo account di servizio Cloud Build il ruolo Utente service account (roles/iam.serviceAccountUser) per iaccount di serviziont che vuoi rappresentare.

Il ruolo Utente service account consente a un'entità di collegare un account di servizio a una risorsa, consentendo alaccount di serviziot Cloud Build di assumere l'identità deaccount di serviziont gestito scelto. Per saperne di più, consulta Ruolo Utente service account e Collegare service account alle risorse nella documentazione IAM.