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

Découvrez comment utiliser la sécurité au niveau du document avec Search à l'aide de OpenSearch.

OCI Search avec OpenSearch prend en charge la sécurité au niveau du document, activée par le module d'extension de sécurité OpenSearch. La sécurité au niveau du document vous permet de limiter l'accès aux documents d'un index à un rôle spécifique, en fonction d'une requête 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 aucun élément n'est spécifié pour la sécurité au niveau du document, ce rôle aura accès à tous les documents dans les index auxquels il a accès, en fonction des autorisations d'index spécifiées.

Prérequis

Les prérequis suivants permettent d'activer la sécurité au niveau du document dans la recherche avec OpenSearch.

  • Le mode de sécurité du cluster doit être défini sur Enforcement. Pour plus d'informations sur la vérification de ce paramètre et la mise à jour si nécessaire, reportez-vous aux sections Verify Security Mode et Setting the Security Mode to Enforcement.

  • La version OpenSearch pour le cluster doit être 2.3.

Utilisation de la sécurité au niveau du document

Pour utiliser la sécurité au niveau du document dans la recherche avec OpenSearch, indiquez un modèle d'index et une requête OpenSearch pour un rôle. Utilisez OpenSearch query DSL pour la requête.

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 cluster et sélectionnez Sécurité.

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

  3. Pour Index, indiquez un modèle d'index.

  4. Pour la sécurité au niveau du document, indiquez une requête OpenSearch.

    Par exemple, l'exemple de requête suivant inclus dans la documentation OpenSearch Document Level Security :

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

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

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

Utilisez l'API des rôles pour configurer la sécurité au niveau du document, comme illustré dans l'exemple suivant de la documentation 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.