Usa IAM para controlar el acceso

Workflows usan Identity and Access Management (IAM) para controlar qué acciones pueden realizar los usuarios autenticados y las cuentas de servicio.

Antes de comenzar a autenticar y autorizar el acceso a los recursos de Workflows, asegúrate de comprender los conceptos básicos de la 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 para otorgar permisos a flujos de trabajo para acceder a otros servicios, consulta Cómo otorgar permiso a un flujo de trabajo para acceder a recursos de Google Cloud.

Control de acceso

Independientemente de cómo implementes la autenticación, es importante comprender el control de acceso y los roles de Workflows disponibles. Un rol es una recopilación de permisos que otorga acceso a los recursos de 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 disponibles de Workflows, consulta Roles y permisos de Workflows.

Cómo 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 a una cuenta de servicio el rol workflows.invoker para que tenga permiso para activar la ejecución de tu 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 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 el rol 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, 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 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.