

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
<a name="limit-access-to-dags"></a>

[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.](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles) 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.

**Topics**
+ [Conditions préalables](#limit-access-to-dags-prerequisites)
+ [Étape 1 : fournissez un accès au serveur Web Amazon MWAA à votre principal IAM avec le rôle Apache Airflow `Public` par défaut.](#limit-access-to-dags-apply-public-access)
+ [Deuxième étape : créer un nouveau rôle personnalisé pour Apache Airflow](#limit-access-to-dags-create-new-airflow-role)
+ [Troisième étape : attribuer le rôle que vous avez créé à votre utilisateur Amazon MWAA](#limit-access-to-dags-assign-role)
+ [Étapes suivantes](#limit-access-to-dags-next-up)
+ [Ressources connexes](#limit-access-to-dags-related-resources)

## Conditions préalables
<a name="limit-access-to-dags-prerequisites"></a>

Pour suivre les étapes de ce didacticiel, vous aurez besoin des éléments suivants :
+ Un [environnement Amazon MWAA avec plusieurs DAGs](get-started.md)
+ Un principal IAM, `Admin` avec des [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor)autorisations, et un utilisateur IAM`MWAAUser`, en tant que principal pour lequel vous pouvez limiter l'accès au DAG. Pour plus d'informations sur les rôles d'administrateur, reportez-vous à la section [Fonction du poste d'administrateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) dans le guide de l'*utilisateur IAM*
**Note**  
N'associez pas de politiques d'autorisation directement à vos utilisateurs IAM. Nous vous recommandons de configurer des rôles IAM que les utilisateurs peuvent assumer pour obtenir un accès temporaire à vos ressources Amazon MWAA.
+ [AWS Command Line Interface version 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install) installée.

## Étape 1 : fournissez un accès au serveur Web Amazon MWAA à votre principal IAM avec le rôle Apache Airflow `Public` par défaut.
<a name="limit-access-to-dags-apply-public-access"></a>

**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.](https://console.aws.amazon.com/iam/)

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

1. 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**.

1. 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.

1. 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
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**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](https://console.aws.amazon.com/mwaa/home) et lancez l'interface utilisateur Apache Airflow de votre environnement.

1. 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.

1. 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**, puis confirmez **OK**
**Note**  
Copiez les rôles **Ops** ou **Viewer** pour accorder plus ou moins d'accès, respectivement.

1. Repérez le nouveau rôle que vous avez créé dans le tableau et choisissez **Modifier l'enregistrement**.

1. Sur la page **Modifier le rôle**, procédez comme suit :
   + Pour **Nom**, entrez 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 DAG`example_dag.py`, ajoutez **`can read on DAG:example_dag`** et**`can 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
<a name="limit-access-to-dags-assign-role"></a>

**Pour attribuer le nouveau rôle**

1. À l'aide des informations d'accès pour`MWAAUser`, 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"
   ```

1. 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.

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

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

1. 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`.

1. 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'`MWAAUser`autorisation 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 que`Admin`) 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
<a name="limit-access-to-dags-next-up"></a>
+ 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, reportez-vous à [Accès à un environnement Amazon MWAA](access-policies.md)

## Ressources connexes
<a name="limit-access-to-dags-related-resources"></a>
+ [Contrôle d'accès](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html) (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.