Puoi richiamare un endpoint privato on-premise, Compute Engine, Google Kubernetes Engine (GKE) o un altro endpoint Google Cloud da Workflows abilitando Identity-Aware Proxy (IAP) per l'endpoint. IAP viene utilizzato per applicare i criteri di controllo dell'accesso dell'accesso e consente di stabilire un livello di autorizzazione centrale per le applicazioni accessibili tramite HTTPS, in modo da poter utilizzare un modello di controllo dell'accesso dell'accesso a livello di applicazione invece di affidarsi a firewall a livello di rete. Per ulteriori informazioni, consulta la panoramica di IAP e le seguenti risorse:
- Abilita IAP per App Engine
- Abilita IAP per Cloud Run
- Abilita IAP per Compute Engine
- Abilita IAP per GKE
- Abilita IAP 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 registro 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 ai Controlli di servizio VPC. Per ulteriori informazioni, consulta Richiamare un endpoint privato conforme ai Controlli di servizio VPC.
invia una richiesta HTTP
La chiamata o il richiamo di un endpoint privato da Workflows avviene tramite una richiesta HTTP. I metodi di richiesta HTTP più comuni hanno una scorciatoia di chiamata (come 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 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 IAM (Identity and Access Management) contenenti le autorizzazioni richieste per accedere alle risorse richieste. Per scoprire quale account di servizio è associato a un flusso di lavoro esistente, vedi Verificare l'account di servizio associato di un flusso di lavoro.
Quando configuri un account di servizio, devi associare l'identità richiedente alla risorsa a cui vuoi concederle l'accesso: rendi l'identità richiedente un'entità o un utente della risorsa e poi le assegni il ruolo appropriato. Il ruolo definisce le autorizzazioni di cui dispone l'identità nel contesto della risorsa. Quando un'applicazione o una risorsa è protetta da IAP, è possibile accedervi solo tramite il proxy da parte delle entità con il ruolo corretto.
Ad esempio, dopo l'autenticazione, IAP applica il criterio di autorizzazione pertinente per verificare se l'entità è autorizzata ad accedere alla risorsa richiesta. Se l'entità dispone del ruolo Utente applicazione web con protezione IAP
(roles/iap.httpsResourceAccessor
) nel progetto della console Google Cloud in cui si trova la risorsa, l'entità è autorizzata ad accedere all'applicazione.
Puoi configurare l'accesso alla risorsa protetta da IAP tramite la pagina IAP aggiungendo l'account di servizio Workflows come entità. Per ulteriori informazioni, consulta Gestione dell'accesso alle risorse protette da IAP.
Aggiungi informazioni di autenticazione al flusso di lavoro
Per impostazione predefinita, le richieste HTTP non contengono token di identità o di accesso per motivi di sicurezza. 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 IAP, devi specificare l'ID client OAuth 2.0 configurato per l'applicazione. Puoi
ottenerlo dalla pagina Credenziali.
Passaggi successivi
- Concedi l'autorizzazione dei flussi di lavoro per accedere alle risorse Google Cloud
- Accedere ai dati delle risposte HTTP salvati in una variabile