Durante i deployment delle origini, Cloud Run utilizza Cloud Build durante la creazione e il deployment del servizio Cloud Run.
Questa pagina mostra come impostare un service account specificato dall'utente da utilizzare con Cloud Build durante l'esecuzione delle build del servizio per tuo conto.
Questa guida è pertinente per gli sviluppatori di piattaforme che eseguono il deployment di
servizi o
funzioni Cloud Run utilizzando Google Cloud CLI e che devono
personalizzare il account di servizio di build utilizzato da Cloud Build. Il flag gcloud CLI del service account del servizio di compilazione è supportato per le implementazioni di origine (--source) e non per le implementazioni di immagini container (--image).
Prima di iniziare
Abilita l'API Cloud Build:
gcloud services enable cloudbuild.googleapis.com
Crea un service account o utilizza un account di servizio esistente da utilizzare come service account Cloud Build.
Ruoli obbligatori
Tu o il tuo amministratore dovete concedere all'account di deployment e al 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:
- Cloud Run Source Developer (
roles/run.sourceDeveloper) sul tuo progetto - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) sul tuo progetto - Service Account User (
roles/iam.serviceAccountUser) sull'identità di servizio Cloud Run
Fai clic per visualizzare i ruoli richiesti per il account di servizio Cloud Build
Per consentire al account di servizio Cloud Build di eseguire la build durante il deployment di una funzione, chiedi all'amministratore di concedere il ruolo Cloud Run Builder (roles/run.builder) al service account Cloud Build nel progetto.
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta 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 il service account Cloud Build predefinito.
Come best practice per seguire il principio del privilegio minimo per migliorare la postura di sicurezza del tuo servizio, ti consigliamo di specificare il tuo service account per eseguire le build durante il deployment di un servizio dall'origine.
gcloud
Per specificare il account di servizio Cloud Build durante il deployment di un servizio dal codice sorgente, utilizza il flag --build-service-account:
gcloud run deploy SERVICE \ --source . \ --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT
Sostituisci:
- SERVICE con il nome del tuo servizio Cloud Run.
- PROJECT_ID l'ID progetto in cui viene creato il account di servizio di build.
- BUILD_SERVICE_ACCOUNT con un account di servizio specificato dall'utente.
Se esegui il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.