Para realizar solicitudes HTTP autenticadas, tu flujo de trabajo debe estar asociado con una de servicio predeterminada (identificada por su dirección de correo electrónico) que tenga la dirección credenciales. Obtén más información para adjuntar Identity and Access Management (IAM) a un flujo de trabajo y otorgarle los permisos necesarios acceder a recursos, consulta Otorga permiso a un flujo de trabajo para acceder a los recursos de Google Cloud.
Tokens de autenticación
De forma predeterminada, las solicitudes HTTP no contienen tokens de identidad ni de acceso por motivos de seguridad. y otras razones. Debes agregar de forma explícita la información de autenticación a tu flujo de trabajo definición.
Para autenticar entre Workflows y un destino HTTP que requiera
autenticación, Workflows usa un token en el repositorio
basado en las credenciales de la cuenta de servicio adjunta al flujo de trabajo,
y lo envía a través de HTTPS al servicio de destino. Cuando te conectes con
Cloud Run Functions o Cloud Run, usa un
Token de ID (OIDC) Para las APIs alojadas en
googleapis.com
, usa un
token de acceso (OAuth 2.0).
Para hacer una solicitud autenticada desde un flujo de trabajo, según el servicio al que llames:
APIs externas: Usa un encabezado de solicitud
Authorization
para autenticar con un API de terceros. En este documento, consulta Realiza solicitudes autenticadas a APIs externas.APIs de Google Cloud: si está disponible, usa un Workflows conector, que proporciona automáticamente el conector la autenticación requerida con la cuenta de servicio del flujo de trabajo. Si no puedes usa un conector, usa un protocolo HTTP con OAuth 2.0 para conectarse a otras APIs de Google Cloud. Cualquiera La API que termina con un nombre de host de
.googleapis.com
acepta esta autenticación . En este documento, consulta Realiza solicitudes autenticadas a las APIs de Google Cloud.Funciones de Cloud Run o Cloud Run: Usa OIDC para conectarte con Cloud Run o Cloud Run. En este documento, ver Realiza solicitudes a las funciones de Cloud Run o Cloud Run.
Local privada, Compute Engine, Google Kubernetes Engine (GKE), o en otros extremos de Google Cloud: usa Identity-Aware Proxy (IAP) con OIDC. para aplicar políticas de control de acceso en tus endpoints. Para obtener más información, consulta Invoca entornos privados on‐prem, Compute Engine, GKE o algún otro extremo y aprende a autenticarte en un recurso con la protección de IAP desde un usuario o cuenta de servicio.
Realiza solicitudes autenticadas a APIs externas
Si integras una API de terceros, incluye una solicitud Authorization
.
con las credenciales necesarias para llevar a cabo la autenticación. Para
ejemplo, incluye un token de ID en un
encabezado Authorization: Bearer ID_TOKEN
en la solicitud a
el servicio. Para obtener más información, consulta la documentación del proveedor de la API.
Realiza solicitudes autenticadas a las APIs de Google Cloud
La cuenta de servicio de un flujo de trabajo puede generar tokens de OAuth 2.0 que el flujo de trabajo puede
para autenticarse en cualquier API de Google Cloud. Cuando uses esta
método de autenticación, el flujo de trabajo se autentica como su servicio asociado
de servicio predeterminada. Para realizar una solicitud HTTP con el protocolo OAuth 2.0, agrega un auth
a la sección args
de la definición del flujo de trabajo, después de especificar
la URL. En este ejemplo, se envía una solicitud a la API de Compute Engine para detener un
VM:
YAML
- step_A: call: http.post args: url: https://compute.googleapis.com/compute/v1/projects/myproject1234/zones/us-central1-b/instances/myvm001/stop auth: type: OAuth2 scopes: OAUTH_SCOPE
JSON
[ { "step_A": { "call": "http.post", "args": { "url": "https://compute.googleapis.com/compute/v1/projects/myproject1234/zones/us-central1-b/instances/myvm001/stop", "auth": { "type": "OAuth2", "scopes": "OAUTH_SCOPE" } } } } ]
scopes
es opcional, pero se puede usar para especificar OAuth 2.0.
los permisos del token. Reemplaza OAUTH_SCOPE
por un
cadena o lista de cadenas. Las cadenas separadas por comas y espacios
no es compatible. De forma predeterminada, el valor se establece en
https://www.googleapis.com/auth/cloud-platform
Realiza solicitudes a Cloud Run Functions o a Cloud Run
Cuando hagas solicitudes a Cloud Run Functions o Cloud Run, usa OIDC para la autenticación.
Para realizar una solicitud HTTP con OIDC, agrega una sección auth
a la sección args
de la definición de tu flujo de trabajo, después de que especifiques la URL. En este ejemplo, un
para invocar una función de Cloud Run:
YAML
- step_A: call: http.get args: url: https://us-central1-project.cloudfunctions.net/functionA query: firstNumber: 4 secondNumber: 6 operation: sum auth: type: OIDC audience: OIDC_AUDIENCE
JSON
[ { "step_A": { "call": "http.get", "args": { "url": "https://us-central1-project.cloudfunctions.net/functionA", "query": { "firstNumber": 4, "secondNumber": 6, "operation": "sum" }, "auth": { "type": "OIDC", "audience": "OIDC_AUDIENCE" } } } } ]
audience
es opcional, pero se puede usar para especificar el servicio OIDC
público del token. De forma predeterminada, se establece OIDC_AUDIENCE
.
con el mismo valor que url
.
Ten en cuenta que Workflows puede invocar Funciones o servicios de Cloud Run que tengan tráfico de entrada restringidas al tráfico interno. Con esta configuración, tus servicios se inaccesible desde Internet, pero se puede acceder a ella desde Workflows.
Para obtener más información, consulta Invoca funciones de Cloud Run o Cloud Run.