Impostare il account di servizio di compilazione (deployment dell'origine)

Durante i deployment dell'origine, Cloud Run sfrutta Cloud Build per la creazione e il deployment del servizio Cloud Run.

Questa pagina mostra come impostare un account di servizio specificato dall'utente da utilizzare da parte di Cloud Build per eseguire le build del servizio per tuo conto. Questa guida è rivolta agli sviluppatori di piattaforme che eseguono il deployment di funzioni o servizi Cloud Run utilizzando Google Cloud CLI e devono personalizzare l'account di servizio di compilazione utilizzato da Cloud Build. Il flag dell'account del servizio di compilazione dell'interfaccia a riga di comando gcloud è supportato per i deployment di origine (--source) e non per i deployment di immagini contenitore (--image).

Prima di iniziare

  1. Abilita l'API Cloud Build:

    gcloud services enable cloudbuild.googleapis.com
  2. Crea un account di servizio o utilizzane uno esistente da utilizzare come account di servizio Cloud Build.

Ruoli obbligatori

Tu o il tuo amministratore dovete concedere all'account di deployment e all'account di servizio Cloud Build i seguenti ruoli IAM.

Fai clic per visualizzare i ruoli richiesti per l'account di deployment

Per ottenere le autorizzazioni necessarie per compilare ed eseguire il deployment dal codice sorgente, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Fai clic per visualizzare i ruoli richiesti per l'account di servizio Cloud Build

Per consentire all'account di servizio Cloud Build di eseguire la compilazione durante il deployment di una funzione, chiedi all'amministratore di concedere il ruolo Costruttore Cloud Run (roles/run.builder) all'account di servizio Cloud Build nel progetto.

Per un elenco dei ruoli e delle autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il servizio Cloud Run interagisce conGoogle Cloud API, come le librerie client di Cloud, consulta la guida alla configurazione dell'identità di servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta le autorizzazioni di deployment e gestisci l'accesso.

Specifica un account di servizio Cloud Build

Per impostazione predefinita, se non viene specificato un account di servizio Cloud Build durante il deployment di un servizio o di una funzione dall'origine, Cloud Build utilizza l'account di servizio Cloud Build predefinito.

Come best practice per seguire il principio del privilegio minimo per migliorare la strategia di sicurezza del tuo servizio, ti consigliamo di specificare il tuo account di servizio per eseguire le build quando esegui il deployment di un servizio dal codice sorgente.

gcloud

Per specificare l'account di servizio Cloud Build durante il deployment di un servizio dal codice sorgente, utilizza il flag --build-service-account:

gcloud beta run deploy SERVICE \
    --source . \
    --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT

Sostituisci:

  • SERVICE con il nome del servizio Cloud Run.
  • PROJECT_ID l'ID progetto in cui viene creato l'account di servizio di compilazione.
  • BUILD_SERVICE_ACCOUNT con un account di servizio specificato dall'utente.

Se stai eseguendo il deployment di una funzione, aggiungi il flag --function con il punto di ingresso della funzione dal codice sorgente.