Acceder a entornos con Workforce Identity Federation

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se describe cómo configurar el acceso de los usuarios a tu entorno de Cloud Composer con Workforce Identity Federation.

Información sobre la federación de identidades para los trabajadores en Cloud Composer

Workforce Identity Federation te permite usar un proveedor de identidades externo para autenticar y autorizar a los empleados (un grupo de usuarios, como empleados, partners y contratistas) mediante IAM, de forma que los usuarios puedan acceder a los servicios de Google Cloud . Para obtener más información sobre la federación de identidades para los trabajadores, consulta el artículo Federación de identidades para los trabajadores.

Si la federación de identidades de Workforce está configurada en tu proyecto, puedes acceder a tu entorno de las siguientes formas:

  • Página de Cloud Composer en la Google Cloud consola
  • Interfaz de usuario de Airflow
  • Google Cloud CLI, incluido el uso de comandos de la CLI de Airflow
  • API de Cloud Composer
  • API REST de Airflow

Antes de empezar

  • Todos los entornos de Cloud Composer que se creen a partir de la versión 2.1.11 y la versión 2.4.3 de Airflow admiten la federación de identidades de la plantilla. No es necesario que configures tu entorno de ninguna forma específica para admitir la federación de identidades de los empleados.

  • Los entornos creados antes de la versión 2.1.11 y la versión 2.4.3 de Airflow, y actualizados a versiones posteriores, no admiten la federación de identidades de Workforce. Puedes comprobar si tu entorno admite Workforce Identity Federation.

  • Las limitaciones de Cloud Storage para la federación de identidades de Workforce se aplican al segmento del entorno. En concreto, debes habilitar el acceso uniforme a nivel de segmento en el segmento del entorno para permitir que las identidades externas suban sus DAGs y archivos a este segmento.

  • Los correos enviados desde Airflow solo incluyen la URL de la interfaz de usuario de Airflow para cuentas de Google. Como las identidades externas solo pueden acceder a la interfaz de usuario de Airflow a través de la URL de la interfaz de usuario de Airflow para identidades externas, el enlace debe ajustarse (cambiarse a la URL de identidades externas).

Configurar el acceso a tu entorno con Workforce Identity Federation

En esta sección se describen los pasos para configurar el acceso de identidades externas a tu entorno de Cloud Composer.

Configurar proveedor de identidades

Configura Workforce Identity Federation para tu proveedor de identidades siguiendo la guía Configurar Workforce Identity Federation.

Conceder roles de gestión de identidades y accesos a identidades externas

En Gestión de Identidades y Accesos, asigna roles de IAM a conjuntos de identidades externas para que puedan acceder a tu entorno e interactuar con él:

Comprobar que los nuevos usuarios reciben los roles de Airflow correctos en el control de acceso de la interfaz de usuario de Airflow

Cloud Composer gestiona los usuarios de Airflow de identidades externas de la misma forma que los usuarios de cuentas de Google. En lugar de una dirección de correo, se usa un identificador principal. Cuando una identidad externa accede a la interfaz de usuario de Airflow por primera vez, se registra automáticamente un usuario de Airflow en el sistema de control de acceso basado en roles de Airflow con el rol predeterminado.

Comprueba que los nuevos usuarios reciban los roles de Airflow correctos en Control de acceso a la interfaz de usuario de Airflow. Dispones de dos opciones:

  • Permite que las identidades externas reciban el rol predeterminado después de acceder a la interfaz de usuario de Airflow por primera vez. Si es necesario, los usuarios administradores de Airflow pueden cambiar este rol por otro.
  • Prerregistra identidades externas con un conjunto de roles obligatorios añadiendo registros de usuario de Airflow con los campos de nombre de usuario y correo electrónico definidos como sus identificadores principales. De esta forma, las identidades externas obtienen el rol que les has asignado, no el rol predeterminado.

Comprobar si un entorno admite la federación de identidades de Workforce

Para comprobar si tu entorno admite Workforce Identity Federation, ejecuta el siguiente comando de la CLI de Google Cloud. Si el resultado muestra un URI, significa que tu entorno admite la federación de identidades de Workforce.

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.airflowByoidUri)"

Sustituye:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION con la región en la que se encuentra el entorno.

Ejemplo:

gcloud composer environments describe example-environment \
  --location us-central1 \
  --format="value(config.airflowByoidUri)"

Acceder a la página de Cloud Composer en la Google Cloud consola

La consola de Workforce Identity Federation proporciona acceso a la página de Cloud Composer.Google Cloud

En la página Composer de la consola de Google Cloud Workforce Identity Federation, puedes acceder a la interfaz de usuario para gestionar entornos, registros de Cloud Composer, monitorización y la interfaz de usuario de DAGs.

Todos los enlaces a la interfaz de usuario de Airflow de la consola federada apuntan al punto de acceso de la interfaz de usuario de Airflow para identidades externas.

Es posible que los enlaces a la interfaz de usuario de Airflow de los entornos de versiones anteriores a la 2.1.11 o de versiones de Airflow anteriores a la 2.4.3 estén marcados como "No disponible". Esto indica que este entorno no admite usuarios de Workforce Identity Federation en la interfaz de usuario de Airflow. Solo se puede acceder a la interfaz de usuario de Airflow de este entorno con cuentas de Google.

Acceder a la interfaz de usuario de Airflow

Los entornos de Cloud Composer tienen dos URLs para la interfaz de usuario de Airflow: una para las cuentas de Google y otra para las identidades externas. Las identidades externas deben acceder a la interfaz de usuario de Airflow a través de la URL de identidades externas.

  • La URL de las identidades externas es https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.

  • La URL de las cuentas de Google es https://<UNIQUE_ID>.composer.googleusercontent.com.

Solo los usuarios autenticados con identidades externas pueden acceder a la URL de identidades externas. Si un usuario visita la URL de identidades externas sin haber iniciado sesión, primero se le redirige al portal de autenticación, donde especifica el nombre de su proveedor de grupo de trabajo. A continuación, se le redirige a su proveedor de identidades para que inicie sesión y, por último, se le redirige a la interfaz de usuario de Airflow del entorno.

Acceder a la interfaz de usuario de DAG en la consola de Google Cloud

La interfaz de usuario de DAG está disponible para los usuarios de identidades externas como parte de la consola federada. Puedes controlar el acceso con políticas de gestión de identidades y accesos.

También se tiene en cuenta el acceso basado en roles de Airflow en los entornos con compatibilidad completa con la federación de identidades de la fuerza de trabajo, que se puede usar para limitar los DAGs que pueden ver los usuarios concretos configurando roles, tal como se describe en el artículo Usar el control de acceso de la interfaz de usuario de Airflow.

Acceder a Google Cloud CLI

Para acceder a tu entorno a través de Google Cloud CLI, las identidades externas deben hacer lo siguiente:

  1. Inicia sesión con Google Cloud CLI mediante una identidad externa.
  2. Ejecuta comandos gcloud composer environments.

Acceder a la API de Cloud Composer

La API Cloud Composer se puede usar con identidades externas para gestionar todos los entornos de Cloud Composer con los métodos de autenticación admitidos, como los tokens de OAuth.

Acceder a la API REST de Airflow

La API REST de Airflow está disponible en el endpoint de identidades externas con los métodos de autenticación admitidos, como los tokens de OAuth.

Para obtener la URL del endpoint de identidades externas de tu entorno, ejecuta el siguiente comando de la CLI de Google Cloud:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.airflowByoidUri)"

Sustituye:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION con la región en la que se encuentra el entorno.

Ejemplo:

gcloud composer environments describe example-environment \
  --location us-central1 \
  --format="value(config.airflowByoidUri)"

Siguientes pasos