Sécurité au niveau du document dans la recherche avec OpenSearch

Découvrez comment utiliser la sécurité au niveau du document avec Search with OpenSearch.

La fonction de recherche OCI avec OpenSearch prend en charge la sécurité au niveau du document, activée par le plugiciel de sécurité OpenSearch. La sécurité au niveau du document vous permet de restreindre l'accès aux documents d'un index à un rôle spécifique, en fonction d'une interrogation spécifiée.

Si plusieurs rôles s'appliquent à un utilisateur, certains avec un accès plus restrictif, l'accès plus étendu sera appliqué.

Si le rôle n'a rien spécifié pour la sécurité au niveau du document, il aura accès à tous les documents dans les index auxquels le rôle a accès, en fonction des autorisations d'index spécifiées.

Préalables

Les conditions suivantes sont requises pour activer la sécurité au niveau du document dans la recherche avec OpenSearch.

Utilisation de la sécurité au niveau du document

Pour utiliser la sécurité au niveau du document dans la recherche avec OpenSearch, vous spécifiez un modèle d'index et une interrogation OpenSearch pour un rôle. Utilisez DSL d'interrogation OpenSearch pour l'interrogation.

Configuration de la sécurité au niveau du document dans les tableaux de bord OpenSearch
  1. Connectez-vous aux tableaux de bord OpenSearch de votre grappe et sélectionnez Sécurité.

  2. Sélectionnez Rôles, puis créez un nouveau rôle ou modifiez un rôle existant.

  3. Pour Indexer, spécifiez un modèle d'index.

  4. Pour Sécurité au niveau du document, spécifiez une interrogation OpenSearch.

    Par exemple, l'exemple d'interrogation suivant inclus dans la documentation sur OpenSearch Document Level Security :

    {
       "bool": {
          "must": {
             "match": {
                "genres": "Comedy"
             }
          }
       }
    }

    restreint l'accès du rôle aux documents où le champ genres inclut Comedy.

Configuration de la sécurité au niveau du document à l'aide de l'API REST

Utilisez l'API Rôles pour configurer la sécurité au niveau du document, comme illustré dans l'exemple suivant dans la documentation sur OpenSearch Document Level Security :

PUT _plugins/_security/api/roles/comedy_data
{
  "cluster_permissions": [
    "*"
  ],
  "index_permissions": [{
    "index_patterns": [
      "pub*"
    ],
    "dls": "{\"bool\":{\"must\":{\"match\":{\"genres\":\"Comedy\"}}}}",
    "allowed_actions": [
      "read"
    ]
  }]
}

Cet exemple montre comment configurer un rôle, comedy_data, qui permet d'accéder à tous les documents dont le genre est "Comédie", dans n'importe quel index.