Airflow géré (3e génération) | Airflow géré (2e génération) | Airflow géré (1re génération héritée)
Cette page explique comment configurer l'accès des utilisateurs à votre environnement Managed Airflow avec la fédération des identités des employés.
À propos de la fédération des identités des employés dans Managed Airflow
La fédération des identités des employés 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) à accéder aux Google Cloud services à l'aide d'IAM. Pour en savoir plus sur la fédération des identités des employés, consultez la page Fédération des identités des employés.
Si la fédération des identités des employés est configurée dans votre projet, vous pouvez accéder à votre environnement de différentes manières :
- Page Airflow géré dans la Google Cloud console
- Interface utilisateur d'Airflow
- Google Cloud CLI, y compris l'exécution de commandes de CLI Airflow
- API Cloud Composer
- API REST Airflow
Avant de commencer
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. Toutes les versions d'Airflow dans Managed Airflow (3e génération) sont compatibles avec la fédération des identités des employés.
Les limites de Cloud Storage pour la fédération des identités des employés s'appliquent au bucket de l'environnement. En particulier, vous devez activer l'accès uniforme au niveau du bucket sur le bucket de l'environnement pour permettre aux identités externes d'importer leurs DAG et leurs fichiers dans ce bucket.
Les e-mails envoyés depuis Airflow n'incluent que l' URL de l'interface utilisateur Airflow pour les comptes Google. Étant donné que les identités externes ne peuvent accéder à l'interface utilisateur Airflow que via l'URL de l'interface utilisateur Airflow pour les identités externes, le lien doit être ajusté (remplacé par l'URL des identités externes).
Airflow géré 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_IDENTITYdans 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 la section Règles d'entrée et de sortie.
Configurer l'accès à votre environnement avec la fédération des identités des employés
Cette section décrit les étapes à suivre pour configurer l'accès des identités externes à votre environnement Airflow géré.
Configurer votre fournisseur d'identité
Configurez la fédération des identités des employés pour votre fournisseur d'identité en suivant le guide Configurer la fédération des identités des employés.
Attribuer des rôles IAM à des identités externes
Dans Identity and Access Management, attribuez des rôles IAM à des ensembles d'identités externes afin qu'elles puissent accéder à votre environnement et interagir avec lui :
Pour obtenir la liste des rôles spécifiques à Airflow géré, consultez la section Attribuer des rôles aux utilisateurs. Par exemple, le rôle Utilisateur de l'environnement et lecteur des objets de l'espace de stockage (
composer.environmentAndStorageObjectViewer) permet à un utilisateur d' afficher les environnements, d'accéder à l'interface utilisateur Airflow, d'afficher et de déclencher des DAG à partir de l'interface utilisateur DAG, et d'afficher des objets dans des buckets d'environnement.Pour obtenir des instructions sur l'attribution de ces rôles à des utilisateurs externes, consultez la section Attribuer des rôles IAM aux comptes principaux.
Pour obtenir un format de représentation des identités externes dans les stratégies IAM, consultez la section Représenter les utilisateurs de pools de personnel dans les stratégies IAM.
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
Managed Airflow 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 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 Airflow avec le rôle par défaut.
Vérifiez que les nouveaux utilisateurs reçoivent les rôles Airflow appropriés dans le contrôle des accès de l'interface utilisateur 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'interface utilisateur Airflow pour la première fois. Si nécessaire, les utilisateurs administrateurs Airflow peuvent ensuite remplacer ce rôle par un autre.
Préenregistrez les identités externes avec un ensemble de rôles requis en ajoutant des enregistrements d'utilisateur Airflow avec les champs de nom d'utilisateur et d'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.
Accéder à la page Airflow géré dans la Google Cloud console
Google Cloud La console de fédération des identités des employés permet d'accéder à la page Airflow géré.
Depuis la page Composer de la console de fédération des identités des employés Google Cloud , vous pouvez accéder à l'interface utilisateur pour gérer les environnements, les journaux Managed Airflow, la surveillance et l'interface utilisateur DAG.
Tous les liens vers l'interface utilisateur Airflow dans la console fédérée pointent vers le point d'accès de l'interface utilisateur Airflow pour les identités externes.
Accéder à l'interface utilisateur Airflow
Les environnements Managed Airflow comportent deux URL pour l'interface utilisateur Airflow : une pour les comptes Google et une autre pour les identités externes. Les identités externes doivent accéder à l'interface utilisateur Airflow via l'URL des identités externes.
L'URL des 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 des 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 pool de personnel, puis vers son fournisseur d'identité pour se connecter, et enfin vers l'interface utilisateur Airflow de l'environnement.
Accéder à l'interface utilisateur DAG dans la Google Cloud console
L'interface utilisateur 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 de stratégies IAM.
L'accès basé sur les rôles Airflow dans les environnements entièrement compatibles avec la fédération des identités des employés 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'interface utilisateur Airflow.
Accéder à Google Cloud CLI
Pour accéder à votre environnement via Google Cloud CLI, les identités externes doivent procéder comme suit :
- Connectez-vous à Google Cloud CLI à l'aide d'une identité externe.
- Exécutez
gcloud composer environmentscommandes.
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 Airflow géré 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_NAMEpar le nom de l'environnement.LOCATIONpar la région dans laquelle se trouve l'environnement.
Exemple :
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
Étape suivante
- Contrôle des accès avec IAM
- Utiliser le contrôle des accès de l'interface utilisateur Airflow
- Accéder à la CLI Airflow
- Accéder à l'API REST Airflow