Accéder aux environnements avec la fédération des identités des employés

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Cette page explique comment configurer l'accès des utilisateurs à votre environnement Cloud Composer avec la fédération des identités des employés.

À propos de la fédération d'identité de personnel dans Cloud Composer

La fédération d'identité du personnel vous permet d'utiliser un fournisseur d'identité (IdP) externe pour authentifier et autoriser du personnel (un groupe d'utilisateurs tels que des employés, des partenaires et des sous-traitants) à l'aide d'IAM, afin que les utilisateurs puissent accéder aux services Google Cloud . Pour en savoir plus sur la fédération des identités des employés, consultez Fédération des identités des employés.

Si la fédération d'identité du personnel est configurée dans votre projet, vous pouvez accéder à votre environnement de l'une des manières suivantes :

  • Page Cloud Composer dans la console Google Cloud
  • Interface utilisateur d'Airflow
  • Google Cloud CLI, y compris l'exécution des commandes Airflow CLI
  • API Cloud Composer
  • API REST Airflow

Avant de commencer

  • Tous les nouveaux environnements Cloud Composer créés à partir de la version 2.1.11 et de la version 2.4.3 d'Airflow sont compatibles avec la fédération des identités des employés. Vous n'avez pas besoin de configurer votre environnement d'une manière spécifique pour prendre en charge la fédération des identités des employés.

  • Les environnements créés avant la version 2.1.11 et la version 2.4.3 d'Airflow, puis mis à niveau vers des versions ultérieures, ne sont pas compatibles avec la fédération des identités des employés. Vous pouvez vérifier si votre environnement est compatible avec la fédération d'identité de personnel.

  • Les limites de Cloud Storage pour la fédération d'identité de personnel s'appliquent au bucket de l'environnement. En particulier, vous devez activer l'accès uniforme au niveau du bucket dans le bucket de l'environnement pour permettre aux identités externes d'y importer leurs DAG et leurs fichiers.

  • Les e-mails envoyés depuis Airflow n'incluent que l'URL de l'UI Airflow pour les comptes Google. Étant donné que les identités externes ne peuvent accéder à l'UI Airflow que via l'URL de l'UI Airflow pour les identités externes, le lien doit être ajusté (remplacé par l'URL pour les identités externes).

  • Cloud Composer n'est pas compatible avec l'utilisation d'identités tierces dans les règles d'entrée et de sortie pour autoriser les opérations de l'interface utilisateur Apache Airflow. Toutefois, vous pouvez utiliser le type d'identité ANY_IDENTITY dans les règles d'entrée et de sortie pour autoriser l'accès à toutes les identités, y compris les identités tierces. Pour en savoir plus sur le type d'identité ANY_IDENTITY, consultez Règles d'entrée et de sortie.

Configurer l'accès à votre environnement avec la fédération d'identité de personnel

Cette section décrit la procédure à suivre pour configurer l'accès des identités externes à votre environnement Cloud Composer.

Configurer votre fournisseur d'identité

Configurez la fédération d'identité de personnel pour votre fournisseur d'identité en suivant le guide Configurer la fédération d'identité de personnel.

Accorder des rôles IAM à des identités externes

Dans Identity and Access Management, accordez des rôles IAM à des ensembles d'identités externes afin qu'elles puissent accéder à votre environnement et interagir avec celui-ci :

Vérifier que les nouveaux utilisateurs reçoivent les rôles Airflow appropriés dans le contrôle des accès de l'interface utilisateur Airflow

Cloud Composer gère les utilisateurs Airflow pour les identités externes de la même manière que pour les utilisateurs de comptes Google. Au lieu d'une adresse e-mail, un identifiant principal est utilisé. Lorsqu'une identité externe accède à l'interface utilisateur d'Airflow pour la première fois, un utilisateur Airflow est automatiquement enregistré dans le système de contrôle des accès basé sur les rôles d'Airflow avec le rôle par défaut.

Vérifiez que les nouveaux utilisateurs reçoivent les rôles Airflow appropriés dans Contrôle des accès à l'UI Airflow. Deux possibilités s'offrent à vous :

  • Autorisez les identités externes à recevoir le rôle par défaut après avoir accédé à l'UI Airflow pour la première fois. Si nécessaire, les administrateurs Airflow peuvent ensuite modifier ce rôle.
  • Préenregistrez les identités externes avec un ensemble de rôles requis en ajoutant des enregistrements utilisateur Airflow avec les champs de nom d'utilisateur et d'adresse e-mail définis sur leurs identifiants principaux. De cette façon, les identités externes obtiennent le rôle que vous leur avez attribué, et non le rôle par défaut.

Vérifier si un environnement est compatible avec la fédération des identités des employés

Pour vérifier si votre environnement est compatible avec la fédération d'identité des employés, exécutez la commande Google Cloud CLI suivante. Si le résultat affiche un URI, cela signifie que votre environnement est compatible avec la fédération des identités des employés.

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.

Exemple :

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

Accéder à la page Cloud Composer dans la console Google Cloud

La console de fédération des identités des employésGoogle Cloud permet d'accéder à la page Cloud Composer.

Sur la page Composer de la console Google Cloud Fédération d'identité de personnel, vous pouvez accéder à l'interface utilisateur pour gérer les environnements, les journaux Cloud Composer, la surveillance et l'interface utilisateur des DAG.

Tous les liens vers l'UI Airflow dans la console fédérée pointent vers le point d'accès à l'UI Airflow pour les identités externes.

Il est possible que les liens vers l'interface utilisateur Airflow des environnements exécutant des versions antérieures à 2.1.11 et/ou des versions d'Airflow antérieures à 2.4.3 soient marqués comme "Non disponibles". Cela indique que cet environnement n'est pas compatible avec les utilisateurs de la fédération d'identité de personnel dans l'UI Airflow. L'interface utilisateur Airflow pour cet environnement n'est accessible qu'avec des comptes Google.

Accéder à l'interface utilisateur d'Airflow

Les environnements Cloud Composer disposent de deux URL pour l'interface utilisateur Airflow : l'une pour les comptes Google et l'autre pour les identités externes. Les identités externes doivent accéder à l'interface utilisateur d'Airflow via l'URL des identités externes.

  • L'URL pour les identités externes est https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.

  • L'URL des comptes Google est https://<UNIQUE_ID>.composer.googleusercontent.com.

Seuls les utilisateurs authentifiés avec des identités externes peuvent accéder à l'URL pour les identités externes. Si un utilisateur accède à l'URL des identités externes sans être connecté, il est d'abord redirigé vers le portail d'authentification où il spécifie le nom de son fournisseur de pools de personnel. Il est ensuite redirigé vers son fournisseur d'identité pour se connecter, puis vers l'interface utilisateur Airflow de l'environnement.

Accéder à l'UI DAG dans la console Google Cloud

L'UI DAG est disponible pour les utilisateurs d'identités externes dans la console fédérée. Vous pouvez contrôler l'accès à l'aide des stratégies IAM.

L'accès basé sur les rôles Airflow dans les environnements avec prise en charge complète de la fédération d'identité de personnel est également pris en compte et peut être utilisé pour limiter les DAG visibles pour les utilisateurs individuels en configurant des rôles, comme décrit dans Utiliser le contrôle des accès de l'UI Airflow.

Accéder à Google Cloud CLI

Pour accéder à votre environnement via Google Cloud CLI, les identités externes doivent effectuer les opérations suivantes :

  1. Connectez-vous à Google Cloud CLI à l'aide d'une identité externe.
  2. Exécutez les commandes gcloud composer environments.

Accéder à l'API Cloud Composer

L'API Cloud Composer peut être utilisée avec des identités externes pour gérer tous les environnements Cloud Composer avec les méthodes d'authentification compatibles, telles que les jetons OAuth.

Accéder à l'API REST Airflow

L'API REST Airflow est disponible au point de terminaison pour les identités externes avec les méthodes d'authentification compatibles, telles que les jetons OAuth.

Pour obtenir l'URL du point de terminaison pour les identités externes de votre environnement, exécutez la commande Google Cloud CLI suivante :

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.

Exemple :

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

Étapes suivantes