Workflows usa Identity and Access Management (IAM) para controlar qué usuarios y cuentas de servicio autenticados pueden realizar determinadas acciones.
Antes de comenzar a autenticar y autorizar el acceso a tus recursos de Workflows, asegúrate de comprender los conceptos básicos de IAM.
En esta página, se detallan los permisos necesarios para acceder a los recursos de Workflows, incluida la capacidad de invocar ejecuciones de flujos de trabajo.
Si deseas obtener información sobre cómo otorgar permisos a flujos de trabajo para acceder a otros servicios, consulta Otorga permiso a un flujo de trabajo para acceder a recursos de Google Cloud.
Control de acceso
Sin importar cómo implementes la autenticación, es importante comprender el control de acceso y las funciones de Workflows disponibles. Un rol es una colección de permisos que otorgan acceso a recursos en Google Cloud. Cuando compiles una aplicación de producción, solo otorga a una cuenta de servicio las funciones que necesita para interactuar con las APIs, las funciones o los recursos correspondientes de Google Cloud.
Para obtener más información sobre las funciones de Workflows disponibles, consulta Funciones y permisos de Workflows.
Invoca Workflows
Una cuenta de servicio es una identidad y un recurso que acepta políticas de IAM. Como resultado, puedes otorgar funciones a la cuenta de servicio y, luego, permitir que otras principales actúen en nombre de la cuenta de servicio si les otorgas una función en la cuenta de servicio o en uno de los recursos superiores de la cuenta de servicio.
Por ejemplo, puedes otorgar a una cuenta de servicio la función workflows.invoker a fin de que la cuenta tenga permiso para activar la ejecución del flujo de trabajo. Luego, puedes permitir que una principal actúe como tu cuenta de servicio o suplante a esta.
Ten en cuenta que la cuenta de servicio de flujo de trabajo no requiere la función workflows.invoker
, a menos que el flujo de trabajo se invoque a sí mismo o a otros flujos de trabajo.
Para obtener más información sobre la suplantación de cuentas de servicio, consulta Robo de identidad de cuentas de servicio.
Si deseas otorgar a la cuenta de servicio del servicio que llama a Workflows la función de Invocador de Workflows (roles/workflows.invoker
) de modo que el servicio tenga permiso para ejecutar flujos de trabajo y administrar las ejecuciones, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página Cuentas de servicio:
Ir a Cuentas de servicioSelecciona un proyecto y haz clic en Crear cuenta de servicio.
En el campo Nombre de cuenta de servicio, ingresa un nombre, como
sa-name
.Haz clic en Crear y continuar.
En la lista Selecciona un rol, elige Flujos de trabajo > Invocador de flujos de trabajo.
Haz clic en Listo.
gcloud
Abre una terminal.
Ingresa el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/workflows.invoker
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Google Cloud.SERVICE_ACCOUNT_NAME
: Es el nombre de la cuenta de servicio.