Utilizzare IAM per controllare l'accesso

Workflows utilizzano Identity and Access Management (IAM) per controllare quali azioni possono essere eseguite da utenti e account di servizio autenticati.

Prima di iniziare ad autenticare e autorizzare l'accesso alle risorse di Workflows, assicurati 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 invocare le esecuzioni dei workflow.

Per informazioni su come concedere autorizzazioni ai flussi di lavoro per accedere ad altri servizi, consulta Concedere un'autorizzazione ai flussi di lavoro per accedere alle risorse Google Cloud.

Controllo degli accessi

Indipendentemente dal modo in cui implementi l'autenticazione, è importante comprendere il controllo dell'accesso e i ruoli di Workflows disponibili. 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 è al tempo stesso un'identità e una risorsa che accetta le policy IAM. Di conseguenza, puoi concedere ruoli all'account di servizio e poi consentire ad altre entità di rubare l'identità dell'account di servizio concedendo loro un ruolo nell'account di servizio o in una delle risorse principali dell'account di servizio.

Ad esempio, puoi concedere a un account di servizio il ruolo workflows.invoker in modo che l'account abbia l'autorizzazione per attivare l'esecuzione del flusso di lavoro. Potresti quindi consentire a un'entità di simulare l'identità 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 si richiami o richiami altri flussi di lavoro.

Per ulteriori informazioni sull'impersonificazione degli account di servizio, vedi Impersonificazione 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 abbia l'autorizzazione per eseguire i flussi di lavoro e gestirne le esecuzioni, procedi nel seguente modo:

Console

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

  2. Seleziona un progetto, poi 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.