Tutoriel : Restreindre l'accès d'un utilisateur Amazon MWAA à un sous-ensemble de DAGs - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : Restreindre l'accès d'un utilisateur Amazon MWAA à un sous-ensemble de DAGs

Amazon MWAA gère l'accès à votre environnement en mappant vos principaux IAM à un ou plusieurs rôles par défaut d'Apache Airflow. Utilisez le didacticiel suivant pour empêcher les utilisateurs individuels d'Amazon MWAA d'accéder et d'interagir uniquement avec un DAG spécifique ou un ensemble de DAGs.

Note

Les étapes de ce didacticiel peuvent être effectuées à l'aide d'un accès fédéré, à condition que les rôles IAM puissent être assumés.

Prérequis

Pour suivre les étapes de ce didacticiel, vous aurez besoin des éléments suivants :

Étape 1 : fournissez un accès au serveur Web Amazon MWAA à votre principal IAM avec le rôle Apache Airflow Public par défaut.

Pour accorder une autorisation à l'aide du AWS Management Console
  1. Connectez-vous à votre compte Compte AWS avec un Admin rôle et ouvrez la console IAM.

  2. Dans le volet de navigation de gauche, choisissez Utilisateurs, puis choisissez votre utilisateur Amazon MWAA IAM dans le tableau des utilisateurs.

  3. Sur la page des détails de l'utilisateur, sous Résumé, choisissez l'onglet Autorisations, puis choisissez Politiques d'autorisations pour développer la carte et choisissez Ajouter des autorisations.

  4. Dans la section Accorder des autorisations, choisissez Joindre directement les politiques existantes, puis choisissez Créer une politique pour créer et joindre votre propre politique d'autorisations personnalisée.

  5. Sur la page Créer une politique, choisissez JSON, puis copiez et collez la politique d'autorisation JSON suivante dans l'éditeur de stratégie. Cette politique accorde l'accès au serveur Web à l'utilisateur doté du rôle Public Apache Airflow par défaut.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public" ] } ] }

Deuxième étape : créer un nouveau rôle personnalisé pour Apache Airflow

Pour créer un nouveau rôle à l'aide de l'interface utilisateur d'Apache Airflow
  1. À l'aide de votre rôle d'administrateur IAM, ouvrez la console Amazon MWAA et lancez l'interface utilisateur Apache Airflow de votre environnement.

  2. Dans le volet de navigation en haut, passez le curseur sur Security pour ouvrir la liste déroulante, puis choisissez List Roles pour accéder aux rôles Apache Airflow par défaut.

  3. Dans la liste des rôles, sélectionnez Utilisateur, puis au début de la page, sélectionnez Actions pour ouvrir le menu déroulant. Choisissez Copier le rôle et confirmez OK

    Note

    Copiez les rôles Ops ou Viewer pour accorder plus ou moins d'accès, respectivement.

  4. Localisez le nouveau rôle que vous avez créé dans le tableau et choisissez Modifier l'enregistrement.

  5. Sur la page Modifier le rôle, procédez comme suit :

    • Pour Nom, saisissez un nouveau nom pour le rôle dans le champ de texte. Par exemple, Restricted.

    • Pour la liste des autorisations, supprimez can read on DAGs puis can edit on DAGs ajoutez des autorisations de lecture et d'écriture pour l'ensemble auquel DAGs vous souhaitez donner accès. Par exemple, pour un DAGexample_dag.py, ajoutez can read on DAG:example_dag etcan edit on DAG:example_dag.

    Choisissez Enregistrer. Vous avez désormais un nouveau rôle qui limite l'accès à un sous-ensemble des éléments DAGs disponibles dans votre environnement Amazon MWAA. Vous pouvez attribuer ce rôle à n'importe quel utilisateur d'Apache Airflow existant.

Troisième étape : attribuer le rôle que vous avez créé à votre utilisateur Amazon MWAA

Pour attribuer le nouveau rôle
  1. À l'aide des informations d'accès pourMWAAUser, exécutez la commande CLI suivante pour récupérer l'URL du serveur Web de votre environnement.

    aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'

    En cas de succès, vous allez vous référer au résultat suivant :

    "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
  2. Une MWAAUser fois connecté au AWS Management Console, ouvrez une nouvelle fenêtre de navigateur et accédez aux éléments suivants URl. Remplacez Webserver-URL par vos informations.

    https://<Webserver-URL>/home

    En cas de succès, vous obtiendrez une page Forbidden d'erreur car vous MWAAUser n'avez pas encore obtenu l'autorisation d'accéder à l'interface utilisateur d'Apache Airflow.

  3. Une fois Admin connecté au AWS Management Console, ouvrez à nouveau la console Amazon MWAA et lancez l'interface utilisateur Apache Airflow de votre environnement.

  4. Dans le tableau de bord de l'interface utilisateur, élargissez le menu déroulant Sécurité et, cette fois, choisissez Lister les utilisateurs.

  5. Dans le tableau des utilisateurs, recherchez le nouvel utilisateur d'Apache Airflow et choisissez Modifier l'enregistrement. Le prénom de l'utilisateur correspondra à votre nom d'utilisateur IAM selon le schéma suivant :user/mwaa-user.

  6. Sur la page Modifier un utilisateur, dans la section Rôle, ajoutez le nouveau rôle personnalisé que vous avez créé, puis choisissez Enregistrer.

    Note

    Le champ Nom de famille est obligatoire, mais un espace répond à cette exigence.

    Le Public principal IAM accorde l'MWAAUserautorisation d'accéder à l'interface utilisateur d'Apache Airflow, tandis que le nouveau rôle fournit les autorisations supplémentaires nécessaires pour obtenir les leurs. DAGs

Important

Tous les 5 rôles par défaut (tels queAdmin) non autorisés par IAM ajoutés à l'aide de l'interface utilisateur d'Apache Airflow seront supprimés lors de la prochaine connexion de l'utilisateur.

Étapes suivantes

  • Pour en savoir plus sur la gestion de l'accès à votre environnement Amazon MWAA et pour obtenir des exemples de politiques IAM JSON que vous pouvez utiliser pour les utilisateurs de votre environnement, consultez Accès à un environnement Amazon MWAA

  • Contrôle d'accès (documentation Apache Airflow) — Pour en savoir plus sur les rôles par défaut d'Apache Airflow, consultez le site Web de documentation d'Apache Airflow.