Utilizzare IAM per controllare l'accesso

I flussi di lavoro utilizzano la gestione di identità e accessi (IAM) per controllare quali azioni possono essere eseguite da utenti e account di servizio autenticati.

Prima di iniziare ad autenticare e autorizzare l'accesso a Workflows risorse, assicuratevi di comprendere i concetti di base di IAM.

Questa pagina descrive in dettaglio le autorizzazioni necessarie per accedere alle risorse di Workflows, inclusa la possibilità di richiamare le esecuzioni dei flussi di lavoro.

Per informazioni sulla concessione delle autorizzazioni ai flussi di lavoro per accedere ad altri servizi, consulta Concedere l'autorizzazione dei flussi di lavoro ad accedere alle risorse Google Cloud.

Controllo degli accessi

Indipendentemente da come implementi l'autenticazione, è importante comprendere controllo dell'accesso e ruoli disponibili in Workflows. Un ruolo è un insieme di autorizzazioni che concedono l'accesso alle risorse in Google Cloud. Quando crei un'applicazione di produzione, concedi a un account di servizio solo i ruoli necessari per interagire con le API, le funzionalità o le risorse Google Cloud applicabili.

Per ulteriori informazioni sui ruoli di Workflows disponibili, consulta Ruoli e autorizzazioni di Workflows.

Richiama Workflows

Un account di servizio è sia un'identità sia una risorsa che accetta criteri IAM. Di conseguenza, puoi concedere ruoli all'account di servizio e poi consentire ad altri mentre le entità si spacciano per l'account di servizio concedendo loro un ruolo nella o su una delle risorse padre dell'account di servizio.

Ad esempio, puoi concedere a un account di servizio il ruolo workflows.invoker. in modo che l'account sia autorizzato ad attivare l'esecuzione del flusso di lavoro. Tu potrebbe quindi consentire a un'entità di impersonare o agire come il tuo account di servizio. Tieni presente che l'account di servizio del flusso di lavoro non richiede il workflows.invoker , a meno che il flusso di lavoro non richiami se stesso o altri flussi di lavoro.

Per ulteriori informazioni sulla simulazione dell'identità degli account di servizio, vedi Account di servizio furto d'identità.

Per concedere all'account di servizio del servizio che chiama Workflows il ruolo Invoker di Workflows (roles/workflows.invoker) in modo che il servizio abbia l'autorizzazione per eseguire i flussi di lavoro e gestirne le esecuzioni, svolgi i seguenti passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Account di servizio:
    Vai agli account di servizio

  2. Seleziona un progetto e fai clic su Crea account di servizio.

  3. Nel campo Nome account di servizio, inserisci un nome, ad esempio sa-name.

  4. Fai clic su Crea e continua.

  5. Nell'elenco Seleziona un ruolo, seleziona Workflow > Workflow Invoker.

  6. Fai clic su Fine.

gcloud

  1. Apri un terminale.

  2. Inserisci questo comando:

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
       --role roles/workflows.invoker

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud.
    • SERVICE_ACCOUNT_NAME: il nome dell'account di servizio.