Usa IAM para controlar el acceso

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

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