Usar IAM para controlar el acceso

Workflows usa Identity and Access Management (IAM) para controlar qué usuarios autenticados y cuentas de servicio pueden realizar qué 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.

Para 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 los recursos de Google Cloud .

Control de acceso

Independientemente de cómo implementes la autenticación, es importante que comprendas el control de acceso y los roles de Workflows disponibles. Un rol es un conjunto 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 Google Cloud aplicables.

Para obtener más información sobre los roles de Workflows disponibles, consulta Roles y permisos de Workflows.

Invoca 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 otras entidades usen la identidad de la cuenta de servicio si les otorgas un rol en la cuenta de servicio o en uno de los recursos principales 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. 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 la identidad temporal como cuenta 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 > Invocador de Workflows.

  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: Es el ID de tu proyecto de Google Cloud .
    • SERVICE_ACCOUNT_NAME: Es el nombre de la cuenta de servicio.