Puoi invocare un endpoint on-premise privato, Compute Engine, Google Kubernetes Engine (GKE) o un altro endpoint Google Cloud da Workflows attivando Identity-Aware Proxy (IAP) per l'endpoint. IAP è usato per applicare i criteri di controllo dell'accesso e ti consente stabilire un livello di autorizzazione centrale per le applicazioni a cui si accede tramite HTTPS, di poter usare un modello di controllo dell'accesso a livello di applicazione anziché fare affidamento firewall a livello di rete. Per ulteriori informazioni, consulta la panoramica di IAP e quanto segue:
- Abilita IAP per App Engine
- Attivare IAP per Cloud Run
- Abilita IAP per Compute Engine
- Abilita IAP per GKE
- Attivare gli acquisti in-app per le app on-premise
In alternativa, puoi scegliere come target un endpoint privato per le chiamate HTTP dall'esecuzione del flusso di lavoro utilizzando il registry dei servizi di Service Directory con Workflows. Creando un endpoint privato all'interno di una rete Virtual Private Cloud (VPC), l'endpoint può essere conforme a VPC Service Controls. Per ulteriori informazioni, consulta Eseguire l'invocazione di un endpoint privato conforme a VPC Service Controls.
Invia una richiesta HTTP
La chiamata o il richiamo di un endpoint privato da Workflows sono completati
tramite una richiesta HTTP. I metodi di richiesta HTTP più comuni hanno una scorciatoia per le chiamate (ad esempio http.get e http.post), ma puoi effettuare qualsiasi tipo di richiesta HTTP impostando il campo call
su http.request
e specificando il tipo di richiesta utilizzando il campo method
. Per
Per ulteriori informazioni, consulta l'articolo Effettuare una richiesta HTTP.
Utilizza un account di servizio con le autorizzazioni richieste
Quando effettui richieste ad altri servizi Google Cloud, il flusso di lavoro deve essere associato a un account di servizio a cui sono stati concessi uno o più ruoli Identity and Access Management (IAM) contenenti le autorizzazioni necessarie per accedere alle risorse richieste. Per sapere quale account di servizio è associato a un flusso di lavoro esistente, consulta Verifica l'account di servizio associato a un flusso di lavoro.
Quando configuri un account di servizio, associ l'identità richiedente alla risorsa a cui vuoi concederle l'accesso, ovvero la rendi un principale, o utente, della risorsa, e poi le assegni il ruolo appropriato. Il ruolo definisce le autorizzazioni di cui dispone l'identità nel contesto risorsa. Quando un'applicazione o una risorsa è protetta da IAP, solo le entità con il ruolo corretto possono accedervi tramite il proxy.
Ad esempio, dopo l'autenticazione, IAP applica i
criterio di autorizzazione per verificare se l'entità è autorizzata ad accedere all'istanza richiesta
risorsa. Se l'entità dispone del ruolo Utente di app web protetta da IAP (roles/iap.httpsResourceAccessor
) nel progetto della console Google Cloud in cui esiste la risorsa, è autorizzata ad accedere all'applicazione.
Puoi configurare l'accesso alla tua risorsa protetta da IAP tramite alla pagina IAP aggiungendo il parametro Account di servizio Workflows come entità. Per ulteriori informazioni, consulta Gestione dell'accesso alle risorse protette da IAP.
Aggiungere informazioni di autenticazione al flusso di lavoro
Per impostazione predefinita, le richieste HTTP non contengono token di identità o di accesso per la sicurezza motivi. Devi aggiungere esplicitamente le informazioni di autenticazione alla definizione del flusso di lavoro. Quando effettui richieste a un endpoint privato, utilizza OIDC per l'autenticazione tramite IAP.
Per effettuare una richiesta HTTP utilizzando OIDC, aggiungi una sezione auth
alla sezione args
della definizione del flusso di lavoro, dopo aver specificato l'URL.
YAML
- step_A: call: http.get args: url: https://www.example.com/endpoint body: someValue: "Hello World" anotherValue: 123 auth: type: OIDC audience: OIDC_AUDIENCE
JSON
[ { "step_A": { "call": "http.get", "args": { "url": "https://www.example.com/endpoint", "body": { "someValue": "Hello World", "anotherValue": 123 }, "auth": { "type": "OIDC", "audience": "OIDC_AUDIENCE" } } } } ]
Puoi utilizzare il parametro audience
per specificare il segmento di pubblico OIDC per il token.
Quando richiami un endpoint abilitato per IAP, devi specificare la
ID client OAuth 2.0 che hai configurato per l'applicazione. Può essere
ottenute dalla pagina Credenziali.
Passaggi successivi
- Concedere un'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud
- Accedere ai dati della risposta HTTP salvati in una variabile