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

  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 Seleccionar un rol, selecciona Workflows > Workflows Invoker.

  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.