Usa IAM para controlar el acceso

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 los roles a una cuenta de servicio debe interactuar con las APIs, las funciones o las funciones aplicables de Google Cloud de Google Cloud.

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, permitir que otros principales actúen en nombre de la cuenta de servicio si les otorgas un rol en la cuenta de servicio 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. Luego, podrías permitir que una principal actúe en nombre de tu cuenta de servicio o que la imite. Ten en cuenta que la cuenta de servicio del flujo de trabajo no requiere el elemento 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 Cuenta de servicio de identidad.

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

  1. En la consola de Google Cloud, ve a la página Cuentas de servicio:
    Ir a Cuentas de servicio

  2. Selecciona un proyecto y, luego, haz clic en Crear cuenta de servicio.

  3. En el campo Nombre de cuenta de servicio, ingresa un nombre, como sa-name.

  4. Haz clic en Crear y continuar.

  5. En la lista Selecciona un rol, elige Flujos de trabajo. > Invocador de flujos de trabajo.

  6. Haz clic en Listo.

gcloud

  1. Abre una terminal.

  2. 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.