Accede a entornos con la federación de identidades de personal

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 la federación de identidades de personal.

Acerca de la federación de identidades de personal en Cloud Composer

La federación de identidades de personal te permite usar un proveedor de identidad externo (IdP) para autenticar y autorizar a un personal (un grupo de usuarios, como empleados, socios y contratistas) que usa IAM, de modo que los usuarios puedan acceder a los servicios de Google Cloud . Para obtener más información sobre la federación de identidades de personal, consulta este documento.

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

  • Página de Cloud Composer en la Google Cloud consola
  • IU de Airflow
  • Google Cloud CLI, incluida la ejecución de comandos de la CLI de Airflow
  • API de Cloud Composer
  • API de REST de Airflow

Antes de comenzar

  • Todos los entornos nuevos de Cloud Composer creados 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 personal. No es necesario que configures tu entorno de ninguna manera específica para admitir la federación de identidades de personal.

  • 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 personal. Puedes verificar si tu entorno admite la federación de identidades de personal.

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

  • Los correos electrónicos que se envían desde Airflow solo incluyen la URL de la IU de Airflow para las Cuentas de Google. Dado que las identidades externas solo pueden acceder a la IU de Airflow a través de la URL de la IU de Airflow para identidades externas, el vínculo debe ajustarse (cambiarse a la URL para identidades externas).

  • Cloud Composer no admite el uso de identidades de terceros en las reglas de entrada y salida para permitir las operaciones de la IU de Apache Airflow. Sin embargo, puedes usar el tipo de identidad ANY_IDENTITY en las reglas de entrada y salida para permitir el acceso a todas las identidades, incluidas las de terceros. Para obtener más información sobre el tipo de identidad ANY_IDENTITY, consulta Reglas de entrada y salida.

Configura el acceso a tu entorno con la federación de identidades de personal

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

Configura tu proveedor de identidad

Configura la federación de identidades de personal para tu proveedor de identidad siguiendo la guía Configura la federación de identidades de personal.

Otorga roles de IAM a identidades externas

En Identity and Access Management, otorga roles de IAM a conjuntos de identidades externas para que puedan acceder a tu entorno y, luego, interactuar con él:

Verifica que los usuarios nuevos reciban los roles correctos de Airflow en el Control de acceso a la IU de Airflow

Cloud Composer controla a los usuarios de Airflow para identidades externas de la misma manera que para los usuarios de cuentas de Google. En lugar de una dirección de correo electrónico, se usa un identificador principal. Cuando una identidad externa accede a la IU 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.

Verifica que los usuarios nuevos reciban los roles correctos de Airflow en el control de acceso a la IU de Airflow. Tienes estas dos opciones:

  • Permite que las identidades externas reciban el rol predeterminado después de acceder a la IU de Airflow por primera vez. Si es necesario, los usuarios administradores de Airflow pueden cambiar este rol por otro.
  • Realiza el registro previo de identidades externas con un conjunto de roles obligatorios agregando registros de usuarios de Airflow con los campos de nombre de usuario y correo electrónico configurados en sus identificadores principales. De esta manera, las identidades externas obtienen el rol que les asignaste, no el rol predeterminado.

Cómo verificar si un entorno admite la federación de identidades de personal

Para verificar si tu entorno admite la federación de identidades de personal, ejecuta el siguiente comando de Google Cloud CLI. Si el resultado muestra un URI, tu entorno admite la federación de identidades de personal.

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

Reemplaza lo siguiente:

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

Ejemplo:

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

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

La consola de federación de identidades de personalGoogle Cloud proporciona acceso a la página de Cloud Composer.

En la página Composer de la consola de Google Cloud Workforce Identity Federation, puedes acceder a la IU para administrar entornos, registros de Cloud Composer, supervisión y la IU de DAG.

Todos los vínculos a la IU de Airflow en la consola federada apuntan al punto de acceso a la IU de Airflow para identidades externas.

Es posible que los vínculos a la IU de Airflow de los entornos en versiones anteriores a la 2.1.11 o en versiones de Airflow anteriores a la 2.4.3 estén marcados como "No disponible". Esto indica que este entorno no admite a los usuarios de la federación de identidades de personal en la IU de Airflow. Solo se puede acceder a la IU de Airflow para este entorno con Cuentas de Google.

Accede a la IU de Airflow

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

  • La URL para 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 accedido, primero se lo redirecciona al portal de autenticación, donde especifica el nombre del proveedor del grupo de personal, luego se lo redirecciona a su proveedor de identidad para que acceda y, finalmente, se lo redirecciona a la IU de Airflow del entorno.

Accede a la IU del DAG en la consola de Google Cloud

La IU del DAG está disponible para los usuarios de identidades externas como parte de la consola federada. Puedes controlar el acceso con políticas de IAM.

También se tiene en cuenta el acceso basado en roles de Airflow en los entornos con compatibilidad total con la federación de identidades de personal, y se puede usar para limitar los DAG que son visibles para usuarios individuales configurando roles, como se describe en Cómo usar el control de acceso a la IU de Airflow.

Accede a Google Cloud CLI

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

  1. Accede con Google Cloud CLI usando una identidad externa.
  2. Ejecutar comandos gcloud composer environments

Accede a la API de Cloud Composer

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

Accede a la API de REST de Airflow

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

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

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

Reemplaza lo siguiente:

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

Ejemplo:

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

¿Qué sigue?