Le chiamate o le chiamate a un on-premise privato, Compute Engine, Google Kubernetes Engine (GKE) o un altro endpoint Google Cloud da Workflows vengono eseguite 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 scoprire di più, consulta Effettuare una richiesta HTTP.
Abilita IAP
Devi attivare Identity-Aware Proxy (IAP) per l'endpoint privato in modo che Workflows possa richiamare l'endpoint. IAP viene utilizzato per applicare i criteri di controllo dell'accesso e consente di definire un livello di autorizzazione centrale per le applicazioni accessibili tramite HTTPS, che ti consente di utilizzare un modello di controllo dell'accesso a livello di applicazione invece di fare affidamento sui firewall di rete. Per ulteriori informazioni, consulta la panoramica di IAP e i seguenti articoli:
- 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
Utilizza un account di servizio con le autorizzazioni richieste
Quando si effettuano 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 necessarie per accedere alle risorse richieste. Per sapere quale account di servizio è associato a un flusso di lavoro esistente, consulta Verificare 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, rendendo l'identità richiedente un entità o utente della risorsa, quindi assegnale il ruolo appropriato. Il ruolo definisce le autorizzazioni di cui dispone l'identità nel contesto della risorsa. Quando un'applicazione o risorsa è protetta da IAP, è possibile accedere solo tramite il proxy alle 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à ha il ruolo Utente applicazione web con protezione IAP (roles/iap.httpsResourceAccessor
) nel progetto della console Google Cloud in cui esiste la risorsa, sarà autorizzato ad accedere all'applicazione.
Puoi configurare l'accesso alla tua risorsa protetta da IAP tramite la pagina IAP aggiungendo l'account di servizio Workflows come entità. Per ulteriori informazioni, vedi Gestire l'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 tramite 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 pubblico OIDC per il token.
Quando si chiama un endpoint con IAP, è necessario specificare l'ID client OAuth 2.0 configurato per l'applicazione. Puoi trovarlo nella pagina Credenziali.
Passaggi successivi
- Concedi un'autorizzazione per il flusso di lavoro ad accedere alle risorse Google Cloud
- Accedi ai dati delle risposte HTTP salvati in una variabile