

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.

# Didacticiel : configurer un domaine avec la base de données utilisateur interne et l'authentification de base HTTP
<a name="fgac-http-auth"></a>

Ce didacticiel couvre un autre cas d'[utilisation courant du contrôle d'accès détaillé](fgac.md) : un utilisateur principal dans la base de données utilisateur interne et l'authentification de base HTTP pour les OpenSearch tableaux de bord. L'utilisateur principal peut ensuite se connecter aux OpenSearch tableaux de bord, créer un utilisateur interne, associer l'utilisateur à un rôle et utiliser un contrôle d'accès précis pour limiter les autorisations de l'utilisateur.

Dans le cadre de ce didacticiel, vous suivrez les étapes suivantes :

1. [Création d'un domaine avec un utilisateur principal](#fgac-http-auth-domain)

1. [Configuration d'un utilisateur interne dans les OpenSearch tableaux de bord](#fgac-http-auth-dashboards-user)

1. [Cartographier les rôles dans les OpenSearch tableaux de bord](#fgac-http-auth-dashboards-map)

1. [Tester les autorisations](#fgac-http-auth-test)

## Étape 1 : Créer un domaine
<a name="fgac-http-auth-domain"></a>

Accédez à la console Amazon OpenSearch Service à l'[https://console.aws.amazon.com/aos/adresse home/](https://console.aws.amazon.com/aos/home/) et [créez un domaine](createupdatedomains.md) avec les paramètres suivants :
+ OpenSearch 1.0 ou version ultérieure, ou Elasticsearch 7.9 ou version ultérieure
+ Accès public
+ Contrôle précis des accès avec un utilisateur principal dans la base de données utilisateur interne (`TheMasterUser` pour le reste du didacticiel)
+ Authentification Amazon Cognito pour les tableaux de bord *désactivés*
+ La stratégie d'accès suivante :

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": [
          "es:ESHttp*"
        ],
        "Resource": "arn:aws:es:us-east-1:111122223333:domain/{domain-name}/*"
      }
    ]
  }
  ```

------
+ HTTPS requis pour tout le trafic vers le domaine
+ Node-to-node chiffrement
+ Chiffrement de données au repos

## Étape 2 : créer un utilisateur interne dans les OpenSearch tableaux de bord
<a name="fgac-http-auth-dashboards-user"></a>

Maintenant que vous avez un domaine, vous pouvez vous connecter à OpenSearch Dashboards et créer un utilisateur interne.

1. Retournez à la console OpenSearch de service et accédez à l'URL OpenSearch des tableaux de bord du domaine que vous avez créé. Le format de l'URL est le suivant : `domain-endpoint/_dashboards/`.

1. Connectez-vous avec le`TheMasterUser`.

1. Choisissez **Add sample data** (Ajouter des exemples de données), puis ajoutez les exemples de données de vol.

1. Dans le volet de navigation de gauche, choisissez **Sécurité**, **Utilisateurs internes**, **Créer un utilisateur interne**.

1. Nommez l'utilisateur `new-user` et spécifiez un mot de passe. Ensuite, choisissez **Create (Créer)**.

## Étape 3 : Cartographier les rôles dans les OpenSearch tableaux de bord
<a name="fgac-http-auth-dashboards-map"></a>

Maintenant que votre utilisateur est configuré, vous pouvez le mapper à un rôle.

1. Restez dans la section **Sécurité** des OpenSearch tableaux de bord et choisissez **Rôles**, **Créer un rôle**.

1. Nommez le rôle `new-role`.

1. Pour **Index**, spécifiez `opensearch_dashboards_sample_data_fli*` (`kibana_sample_data_fli*`sur les domaines Elasticsearch) le modèle d'index.

1. Pour le groupe d'actions, choisissez **read (lire)**.

1. Pour **Requête de sécurité au niveau du document**, indiquez la requête suivante :

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. Pour la sécurité au niveau des champs, choisissez **Exclude (Exclure)** et indiquez `FlightNum`.

1. Pour **Anonymisation**, indiquez `Dest`.

1. Choisissez **Create (Créer)**.

1. Choisissez **Mapped users (Utilisateurs mappés)**, **Manage mapping (Gérer le mappage)**. Ensuite, ajoutez `new-user` à **Users (Utilisateurs)** et choisissez **Map (Mapper)**.

1. Revenez à la liste des rôles et choisissez **opensearch\$1dashboards\$1user**. Choisissez **Mapped users (Utilisateurs mappés)**, **Manage mapping (Gérer le mappage)**. Ensuite, ajoutez `new-user` à **Users (Utilisateurs)** et choisissez **Map (Mapper)**.

## Étape 4 : tester les autorisations
<a name="fgac-http-auth-test"></a>

Lorsque vos rôles sont correctement mappés, vous pouvez vous connecter en tant qu'utilisateur limité et tester les autorisations.

1. Dans une nouvelle fenêtre de navigateur privée, accédez à l'URL OpenSearch des tableaux de bord du domaine, connectez-vous à l'aide des `new-user` informations d'identification et choisissez **Explorer par moi-même**.

1. Accédez aux **Outils de développement**, puis exécutez la recherche par défaut :

   ```
   GET _search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Notez l'erreur d'autorisation. `new-user` n'a pas les autorisations nécessaires pour exécuter des recherches à l'échelle du cluster.

1. Exécutez une autre recherche :

   ```
   GET dashboards_sample_data_flights/_search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Notez que tous les documents correspondants ont un champ `FlightDelay` ayant pour valeur `true`, un champ anonymisé `Dest` et aucun champ `FlightNum`.

1. Dans la fenêtre de votre navigateur d'origine, connecté en tant que `TheMasterUser`, choisissez **Dev Tools (Outils de développement)** et effectuez les mêmes recherches. Notez la différence entre les autorisations, le nombre d'accès, les documents correspondants et les champs inclus.