Tutoriel : prise en main de la sécurité dans Amazon OpenSearch Serverless (console) - Amazon OpenSearch Service

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 : prise en main de la sécurité dans Amazon OpenSearch Serverless (console)

Ce didacticiel explique les étapes de base pour créer et gérer des politiques de sécurité à l'aide de la console Amazon OpenSearch Serverless.

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

Ce didacticiel vous guide dans la configuration d'une collection à l'aide de la AWS Management Console. Pour les mêmes étapes avec l'AWS CLI, veuillez consulter la rubrique Tutoriel : prise en main de la sécurité dans Amazon OpenSearch Serverless (CLI).

Étape 1 : configurer des autorisations

Note

Vous pouvez ignorer cette étape si vous utilisez déjà une politique basée sur l'identité plus large, telle que Action":"aoss:*" ou Action":"*". Toutefois, dans les environnements de production, nous vous recommandons de suivre le principe du moindre privilège et de n'attribuer que les autorisations minimales nécessaires pour effectuer une tâche.

Afin de suivre ce didacticiel, vous devez disposer des autorisations IAM appropriées. Votre utilisateur ou votre rôle doit être associé à une politique basée sur l'identité avec les autorisations minimales suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:CreateCollection", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:ListSecurityPolicies", "aoss:CreateAccessPolicy", "aoss:GetAccessPolicy", "aoss:ListAccessPolicies" ], "Effect": "Allow", "Resource": "*" } ] }

Pour obtenir la liste complète des autorisations OpenSearch sans serveur, consultezIdentity and Access Management pour Amazon OpenSearch Serverless.

Étape 2 : créer une stratégie de chiffrement

Les politiques de chiffrement spécifient la AWS KMS clé que OpenSearch Serverless utilisera pour chiffrer la collection. Vous pouvez chiffrer des collections à l'aide d'une Clé gérée par AWS ou d'une clé différente. Par souci de simplicité, dans le cadre de ce didacticiel, nous allons chiffrer notre collection à l'aide d'une Clé gérée par AWS.

Créer une stratégie de chiffrement
  1. Ouvrez la console Amazon OpenSearch Service à l'adresse https://console.aws.amazon.com/aos/home.

  2. Développez Serverless (Sans serveur) dans le panneau de navigation de gauche et choisissez Encryption policies (Stratégies de chiffrement).

  3. Choisissez Create encryption policy (Créer une stratégie de chiffrement).

  4. Nommez la stratégie books-policy. Pour la description, saisissez Encryption policy for books collection (Stratégie de chiffrement pour la collection books).

  5. Dans Resources (Ressources), saisissez books (livres), le nom que vous donnerez à votre collection. Si vous souhaitez être plus large, vous pouvez inclure un astérisque (books*) pour que la stratégie s'applique à toutes les collections commençant par le mot « books ».

  6. Pour le chiffrement, maintenez l'option Utiliser la clé AWS détenue sélectionnée.

  7. Choisissez Créer.

Étape 3 : créer une politique réseau

Les politiques réseau déterminent si votre collection est accessible via Internet à partir de réseaux publics ou si elle doit être accessible via des points de terminaison OpenSearch VPC gérés sans serveur. Dans le cadre de ce didacticiel, nous allons configurer l'accès public.

Créer une stratégie réseau
  1. Choisissez Network policies (Stratégies réseau) dans le panneau de navigation de gauche, puis Create network policy (Créer une stratégie réseau).

  2. Nommez la stratégie books-policy. Pour la description, saisissez Network policy for books collection (Stratégie réseau pour la collection books).

  3. Sous Rule 1 (Règle 1), nommez la règle Public access for books collection (Accès public à la collection books).

  4. Par souci de simplicité, dans le cadre de ce didacticiel, nous allons configurer l'accès public à la collection books. Pour le type d'accès, sélectionnez Public.

  5. Nous allons accéder à la collection depuis les OpenSearch tableaux de bord. Pour ce faire, vous devez configurer l'accès réseau pour les tableaux de bord et le OpenSearch point de terminaison, sinon les tableaux de bord ne fonctionneront pas.

    Pour le type de ressource, activez à la fois l'accès aux OpenSearch points de terminaison et l'accès aux OpenSearch tableaux de bord.

  6. Dans les deux zones de saisie, saisissez Collection Name = books (Nom de la collection = books). Ce paramètre réduit la portée de la stratégie afin qu'elle ne s'applique qu'à une seule collection (books). Votre règle devrait ressembler à ceci :

    Search interface showing two input fields for collection or prefix term selection, both set to "books".
  7. Choisissez Créer.

Étape 4 : Création d'une politique d'accès aux données

Les données de votre collection ne seront pas accessibles tant que vous n'aurez pas configuré l'accès aux données. Les stratégies d'accès aux données sont distinctes de la politique IAM basée sur l'identité que vous avez configurée à l'étape 1. Elles permettent aux utilisateurs d'accéder aux données réelles d'une collection.

Dans le cadre de ce didacticiel, nous allons fournir à un seul utilisateur les autorisations requises pour indexer des données dans la collection books.

Créer une stratégie d'accès aux données
  1. Dans le panneau de navigation de gauche, choisissez Data access policies (Stratégies d'accès aux données), puis Create access policy (Créer une stratégie d'accès).

  2. Nommez la stratégie books-policy. Pour la description, saisissez Data access policy for books collection (Stratégie d'accès aux données pour la collection books).

  3. Sélectionnez JSON comme méthode de définition de stratégie et collez la stratégie suivante dans l'éditeur JSON.

    Remplacez l'ARN principal par l'ARN du compte que vous utiliserez pour vous connecter aux OpenSearch tableaux de bord et indexer les données.

    [ { "Rules":[ { "ResourceType":"index", "Resource":[ "index/books/*" ], "Permission":[ "aoss:CreateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument", "aoss:UpdateIndex", "aoss:DeleteIndex" ] } ], "Principal":[ "arn:aws:iam::123456789012:user/my-user" ] } ]

    Cette stratégie fournit à un seul utilisateur les autorisations minimales requises pour créer un index dans la collection books, indexer certaines données et les rechercher.

  4. Choisissez Créer.

Étape 5 : Création d'une collection

Maintenant que vous avez configuré les stratégies de chiffrement et réseau, vous pouvez créer une collection correspondante et les paramètres de sécurité lui seront automatiquement appliqués.

Pour créer une collection OpenSearch sans serveur
  1. Choisissez Collections dans le panneau de navigation de gauche, puis choisissez Create collection (Créer une collection).

  2. Nommez la collection books.

  3. Pour le type de collection, choisissez Search (Rechercher).

  4. Sous Chiffrement, OpenSearch Serverless vous informe que le nom de la collection correspond à la politique de books-policy chiffrement.

  5. Dans les paramètres d'accès au réseau, OpenSearch Serverless vous informe que le nom de la collection correspond à la politique du books-policy réseau.

  6. Choisissez Suivant.

  7. Sous Options de politique d'accès aux données, OpenSearch Serverless vous informe que le nom de la collection correspond à la politique d'accès aux books-policy données.

  8. Choisissez Suivant.

  9. Vérifiez la configuration de la collection et choisissez Submit (Soumettre). L'initialisation des collections prend généralement moins d'une minute.

Étape 6 : charger et rechercher des données

Vous pouvez télécharger des données dans une collection OpenSearch sans serveur à l'aide de Postman ou de curl. Par souci de concision, ces exemples utilisent les outils de développement de la console OpenSearch Dashboards.

Indexer et rechercher des données dans une collection
  1. Choisissez Collections dans le panneau de navigation de gauche, puis choisissez la collection books pour afficher sa page des détails.

  2. Choisissez l'URL OpenSearch des tableaux de bord pour la collection. L'URL est au format https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards.

  3. Connectez-vous aux OpenSearch tableaux de bord à l'aide des clés AWS d'accès et secrètes du principal que vous avez spécifiées dans votre politique d'accès aux données.

  4. Dans OpenSearch Dashboards, ouvrez le menu de navigation de gauche et choisissez Dev Tools.

  5. Pour créer un index unique appelé books-index, exécutez la commande suivante :

    PUT books-index
    OpenSearch Dashboards console showing PUT request for books-index with JSON response.
  6. Pour indexer un seul document dans books-index, exécutez la commande suivante :

    PUT books-index/_doc/1 { "title": "The Shining", "author": "Stephen King", "year": 1977 }
  7. Pour rechercher des données dans OpenSearch les tableaux de bord, vous devez configurer au moins un modèle d'index. OpenSearch utilise ces modèles pour identifier les index que vous souhaitez analyser. Ouvrez le menu principal Tableaux de bord et choisissez Stack Management (Gestion de la pile), Index Patterns (Modèles d'index), puis Create index pattern (Créer un modèle d'index). Pour ce didacticiel, saisissez books-index.

  8. Choisissez Next step (Étape suivante), puis Create index pattern (Créer un modèle d'index). Une fois le modèle créé, vous pouvez consulter les différents champs du document, comme author et title.

  9. Pour commencer à effectuer des recherches sur vos données, ouvrez à nouveau le menu principal et choisissez Discover (Découvrir) ou utilisez l'API de recherche.