Workflows usa Identity and Access Management (IAM) para controlar qué qué acciones pueden realizar los usuarios autenticados y las cuentas de servicio.
Antes de comenzar a autenticar y autorizar el acceso a tus Workflows asegúrate de comprender los conceptos básicos de IAM.
En esta página, se detallan los permisos necesarios para acceder a Workflows recursos, incluida la capacidad de invocar ejecuciones de flujos de trabajo.
Si necesitas información sobre cómo otorgar permisos a los flujos de trabajo para acceder a otros servicios, Consulta Otorga permiso a un flujo de trabajo para acceder a los recursos de Google Cloud.
Control de acceso
Sin importar cómo implementes la autenticación, es importante entender el control de acceso y los roles disponibles de Workflows. Un rol es un colección de permisos que otorgan acceso a los recursos en Google Cloud. Cuando crees una aplicación de producción, solo otorga a una cuenta de servicio los roles que necesita para interactuar con las APIs, las funciones o los recursos de Google Cloud aplicables.
Para obtener más información sobre los roles de Workflows disponibles, consulta Funciones y permisos de flujos de trabajo.
Invocar flujos de trabajo
Una cuenta de servicio es una identidad y un recurso que acepta políticas de IAM. Como resultado, puedes otorgar roles a la cuenta de servicio y, luego, dejar que otros principales roben la identidad de la cuenta de servicio otorgándoles un rol o en uno de los recursos superiores de la cuenta de servicio.
Por ejemplo, puedes otorgar el rol workflows.invoker a una cuenta de servicio.
para que la cuenta tenga permiso para activar la ejecución del flujo de trabajo. Tú
podría permitir que una principal suplante tu cuenta de servicio o actúe como ella.
Ten en cuenta que la cuenta de servicio del flujo de trabajo no requiere el rol 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 el uso de la identidad de cuentas de servicio, consulta Identidad temporal como cuenta de servicio.
Para otorgar a la cuenta de servicio del servicio que llama a Workflows, haz lo siguiente:
Rol de invocador de flujos de trabajo (roles/workflows.invoker
) para 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 Seleccionar un rol, selecciona Workflows > Workflows Invoker.
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.