Usar la gestión de identidades y accesos para controlar el acceso

Workflows usa la gestión de identidades y accesos (IAM) para controlar qué usuarios autenticados y cuentas de servicio pueden realizar qué acciones.

Antes de empezar a autenticar y autorizar el acceso a tus recursos de Workflows, asegúrate de que conoces los conceptos básicos de gestión de identidades y accesos.

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 conceder permisos a los flujos de trabajo para acceder a otros servicios, consulta Conceder permisos a un flujo de trabajo para acceder a recursos Google Cloud .

Control de acceso

Independientemente de cómo implementes la autenticación, es importante que conozcas el control de acceso y los roles de Workflows disponibles. Un rol es un conjunto de permisos que conceden acceso a los recursos de Google Cloud. Cuando crees una aplicación de producción, concede a una cuenta de servicio solo los roles que necesite para interactuar con las APIs, las funciones o los recursos aplicables de Google Cloud .

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

Invocar flujos de trabajo

Una cuenta de servicio es tanto una identidad como un recurso que acepta políticas de gestión de identidades y accesos. Por lo tanto, puedes conceder roles a la cuenta de servicio y, después, permitir que otras principales la suplanten concediéndoles un rol en la cuenta de servicio o en uno de los recursos principales de la cuenta de servicio.

Por ejemplo, puedes conceder a una cuenta de servicio el rol workflows.invoker para que tenga permiso para activar la ejecución de tu flujo de trabajo. Después, puedes permitir que un principal suplante la identidad de tu cuenta de servicio o actúe en su nombre. 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 suplantación de identidad en cuentas de servicio, consulta el artículo Suplantación de identidad en cuentas de servicio.

Para asignar el rol Invocador de Workflows (roles/workflows.invoker) a la cuenta de servicio del servicio que llama a Workflows, de forma que el servicio tenga permiso para ejecutar workflows y gestionar las ejecuciones, haz lo siguiente:

Consola

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

  2. Selecciona un proyecto y, a continuación, haz clic en Crear cuenta de servicio.

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

  4. Haz clic en Crear y continuar.

  5. En la lista Selecciona un rol, elige Workflows > Workflows Invoker.

  6. Haz clic en Listo.

gcloud

  1. Abre la terminal.

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

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto de Google Cloud .
    • SERVICE_ACCOUNT_NAME: el nombre de la cuenta de servicio.