Imposta account di servizio di build (deployment origine)

Durante il deployment di origine di una funzione, Cloud Run sfrutta durante la creazione e il deployment della funzione.

In questa pagina viene illustrato come impostare un account di servizio specificato dall'utente per Cloud Build quando esegui build della funzione sul tuo per conto tuo. Questa guida è rivolta agli sviluppatori di piattaforme che eseguono il deployment in Cloud Run e devi personalizzare il servizio di build utilizzato da Cloud Build.

Prima di iniziare

  1. Abilita l'API Cloud Build:

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

Ruoli obbligatori

Per ottenere le autorizzazioni di cui hai bisogno di eseguire il deployment dall'origine, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

Per consentire all'account di servizio utilizzato per Cloud Build di eseguire la compilazione durante il deployment di una funzione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo account di servizio:

  • Logs Writer (roles/logging.logWriter): per archiviare i log di compilazione in Cloud Logging.
  • Writer Artifact Registry (roles/artifactregistry.writer) per l'archiviazione di immagini build in Artifact Registry.
  • Storage Object Admin (roles/storage.objectAdmin): per recuperare il codice sorgente della funzione dal bucket Cloud Storage e per archiviare le immagini di build in Artifact Registry.

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 con le API Google Cloud, come le librerie client di Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta autorizzazioni di deployment e gestire l'accesso.

Specifica un account di servizio Cloud Build

Per impostazione predefinita, se non viene specificato un account di servizio Cloud Build quando eseguendo il deployment di una funzione dall'origine, Cloud Build utilizza Account di servizio Cloud Build.

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

gcloud

Puoi specificare un account di servizio da utilizzare come account di servizio Cloud Build durante il deployment di una funzione.

Per specificare l'account di servizio Cloud Build durante il deployment funzione dal codice sorgente:

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --build-service-account BUILD_SERVICE_ACCOUNT

Sostituisci:

  • SERVICE con il nome della funzione Cloud Run.
  • FUNCTION_ENTRY_POINT con il punto di ingresso della funzione nel codice sorgente. Ometti il flag --function per specificare un servizio di cui viene eseguito il deployment dall'origine.
  • BUILD_SERVICE_ACCOUNT con un account di servizio specificato dall'utente.