Puedes invocar un extremo privado, Compute Engine, Google Kubernetes Engine (GKE) o cualquier otro extremo de Google Cloud desde Workflows habilitando Identity-Aware Proxy (IAP) para el extremo. IAP se usa para aplicar políticas de control de acceso y te permite establecer una capa de autorización central para las aplicaciones a las que se accede mediante HTTPS, por lo que puedes usar un modelo de control de acceso a nivel de la aplicación en lugar de depender de firewalls a nivel de red. Para obtener más información, consulta la Descripción general de IAP y lo siguiente:
- Habilita IAP para App Engine
- Habilita IAP para Cloud Run
- Habilita IAP para Compute Engine
- Habilita IAP para GKE
- Habilita IAP para aplicaciones locales
Como alternativa, puedes seleccionar un extremo privado para llamadas HTTP desde tu la ejecución del flujo de trabajo usando el registro de servicios del Directorio de servicios Workflows Cuando creas un extremo privado dentro de una red de nube privada virtual (VPC), el extremo puede cumplir con los controles de servicio de VPC. Para obtener más información, consulta Invoca un extremo privado que cumpla con los Controles del servicio de VPC.
Realiza una solicitud HTTP
Se realiza la llamada o la invocación de un extremo privado desde Workflows
a través de una solicitud HTTP. Los métodos de solicitud HTTP más comunes tienen una llamada
(como http.get)
y http.post), pero puedes hacer que
cualquier tipo de solicitud HTTP. Para ello, establece el campo call
en http.request
y
y especifica el tipo de solicitud con el campo method
. Para
Para obtener más información, consulta Realiza una solicitud HTTP.
Usa una cuenta de servicio con los permisos necesarios
Cuando realices solicitudes a otros servicios de Google Cloud, tu flujo de trabajo debe estar asociados con una cuenta de servicio a la que se le otorgaron uno o más Roles de Identity and Access Management (IAM) que contengan los permisos necesarios para acceder los recursos solicitados. Para obtener información sobre qué cuenta de servicio está asociada con un flujo de trabajo existente, consulta Cómo verificar la cuenta de servicio asociada a un flujo de trabajo.
Cuando configuras una cuenta de servicio, asocias la identidad solicitante con el recurso al que deseas darle acceso. Es decir, la conviertes en un principal, o usuario, del recurso y, luego, le asignas el rol correspondiente. El rol define qué permisos tiene la identidad en el contexto del recurso. Cuando IAP protege una aplicación o un recurso, solo pueden acceder a él a través del proxy las principales que tengan los permisos en el área de la seguridad en la nube.
Por ejemplo, después de la autenticación, IAP aplica las políticas
política de permiso para verificar si la principal está autorizada para acceder a la cuenta
recurso. Si la principal tiene el rol Usuario de aplicación web protegida con IAP
(roles/iap.httpsResourceAccessor
) en el proyecto de la consola de Google Cloud
en el que está el recurso, tiene autorización
para acceder a la aplicación.
Puedes configurar el acceso a tu recurso con la protección de IAP a través de la página IAP agregando Cuenta de servicio de Workflows como principal. Para obtener más información, consulta Administra el acceso a los recursos protegidos con IAP.
Agrega la información de autenticación a tu flujo de trabajo
De forma predeterminada, las solicitudes HTTP no contienen tokens de identidad ni de acceso por motivos de seguridad. y otras razones. Debes agregar información de autenticación de forma explícita a la definición de tu flujo de trabajo. Cuando realices solicitudes a un extremo privado, usa OIDC para la autenticación a través de IAP.
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.
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" } } } } ]
Puedes usar el parámetro audience
para especificar el público de OIDC para el token.
Cuando invoques un extremo habilitado para IAP, debes especificar el
Es el ID de cliente de OAuth 2.0 que configuraste para tu aplicación. Puedes obtenerlo en la página Credenciales.
¿Qué sigue?
- Otorga permiso a un flujo de trabajo para acceder a los recursos de Google Cloud
- Accede a los datos de respuesta HTTP guardados en una variable