Utilizzare IAM per controllare l'accesso

Workflows utilizza Identity and Access Management (IAM) per controllare quali utenti e account di servizio autenticati possono eseguire determinate azioni.

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

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

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

Controllo dell'accesso

Indipendentemente da come implementi l'autenticazione, è importante comprendere il controllo dell'accesso e i ruoli di Workflows disponibili. Un ruolo è una raccolta 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 di Google Cloud applicabili.

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

Richiama flussi di lavoro

Un account di servizio è sia un'identità sia una risorsa che accetta i criteri IAM. Di conseguenza, puoi concedere ruoli all'account di servizio e poi consentire ad altre entità di impersonare l'account di servizio concedendo loro un ruolo nell'account di servizio 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 disponga dell'autorizzazione per attivare l'esecuzione del flusso di lavoro. Potresti quindi consentire a un'entità di impersonare o di agire per conto del tuo account di servizio. Tieni presente che l'account di servizio del flusso di lavoro non richiede il ruolo workflows.invoker, a meno che il flusso di lavoro non richiami se stesso o altri flussi di lavoro.

Per ulteriori informazioni sul furto d'identità degli account di servizio, consulta Furto d'identità degli account di servizio.

Per concedere all'account di servizio del servizio che chiama Workflows il ruolo Invoker di Workflows (roles/workflows.invoker), in modo che il servizio disponga dell'autorizzazione per eseguire flussi di lavoro e gestire le esecuzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Account di servizio:
    Vai ad 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 Flussi di lavoro > Invoker flussi di lavoro.

  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.