Tous les produits
Search
Centre de documentation

Elasticsearch:Configurer l'authentification Active Directory

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment configurer l'authentification Active Directory (AD) pour une instance Alibaba Cloud Elasticsearch. Cette configuration permet aux utilisateurs disposant de rôles spécifiques dans un domaine AD d'accéder à l'instance.

Prérequis

Assurez-vous d'avoir effectué les opérations suivantes :

  • Vous avez créé une instance Alibaba Cloud Elasticsearch. Cette rubrique utilise une instance de version 7.10 comme exemple.

    Pour plus d'informations, consultez la rubrique Créer une instance Alibaba Cloud Elasticsearch.

  • Vous avez préparé un environnement de domaine AD et des données dans le même VPC que votre instance Alibaba Cloud Elasticsearch. Cette rubrique utilise Windows Server 2012 comme exemple.

    Cette rubrique utilise le nom d'utilisateur ccy1 et le domaine racine ccy.com. Par exemple, dans le domaine AD ccy.com, créez l'utilisateur ccy1@ccy.com (le nom de connexion pour les versions antérieures à Windows 2000 est CCY\ccy1). Dans l'onglet Account des propriétés de l'utilisateur, sélectionnez Password never expires et définissez l'expiration du compte sur Never.

Limites

Depuis octobre 2020, Alibaba Cloud Elasticsearch a ajusté son architecture réseau dans différentes régions. Cela affecte les instances nouvellement créées de la manière suivante :

  • Pour les instances utilisant l'ancienne architecture réseau, vous pouvez utiliser la fonctionnalité SNAT ou un proxy Nginx autonome pour accéder au réseau public.

  • Pour les instances utilisant la nouvelle architecture réseau, la fonctionnalité AD est soumise à des restrictions réseau. Vous devez utiliser une connexion PrivateLink pour connecter les VPC. Pour plus de détails sur la configuration, consultez la rubrique Configurer une connexion PrivateLink. Si vous devez accéder au réseau public, vous devez configurer un proxy Nginx pour la redirection des requêtes.

  • Pour les instances utilisant l'ancienne architecture réseau, Alibaba Cloud Elasticsearch prend en charge l'authentification AD uniquement dans une seule zone de disponibilité.

Remarque

Pour plus d'informations sur l'architecture réseau, consultez la rubrique [[Avis] Ajustement de l'architecture réseau](t2521816.xdita#).

Procédure

  1. Étape 1 : Obtenir le nom de domaine de l'endpoint (facultatif)

  2. Étape 2 : Configurer l'authentification AD

  3. Étape 3 : Mapper les rôles aux comptes de domaine

  4. Étape 4 : Vérifier le résultat

Étape 1 : Obtenir le nom de domaine de l'endpoint (facultatif)

Les clusters Elasticsearch créés en octobre 2020 ou plus tard sont déployés sur la nouvelle architecture réseau. Ces clusters Elasticsearch résident dans le VPC du compte de service Elasticsearch. Si votre cluster Elasticsearch est déployé sur la nouvelle architecture réseau, vous devez utiliser le service PrivateLink pour établir une connexion privée entre le VPC et votre propre VPC. Ensuite, obtenez le nom de domaine de l'endpoint correspondant pour une utilisation ultérieure. Pour obtenir le nom de domaine d'un endpoint, procédez comme suit :

  1. Créez une instance Classic Load Balancer (CLB) qui prend en charge le service PrivateLink et qui réside dans le même VPC que le cluster Elasticsearch créé.

    Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink.

  2. Configurez l'instance CLB.

    Spécifiez le serveur hébergeant LDAP comme serveur backend et définissez le port d'écoute sur 389.

    Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink.

  3. Créez un service d'endpoint.

    Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink.

  4. Configurez une connexion privée vers le cluster Elasticsearch.

    Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink.

  5. Obtenez le nom de domaine de l'endpoint utilisé pour accéder au service d'endpoint.

    Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink.

    Remarque

    Notez le nom de domaine obtenu, car il sera utilisé dans les configurations ultérieures.

Étape 2 : Configurer l'authentification AD

Vous pouvez utiliser les fonctionnalités de sécurité d'Elasticsearch pour communiquer avec un domaine AD afin d'authentifier les utilisateurs. Les fonctionnalités de sécurité communiquent avec le domaine AD via LDAP. Par conséquent, le realm active_directory est similaire au realm ldap. Comme un annuaire LDAP, un domaine AD stocke les utilisateurs et les groupes de manière hiérarchique. Le domaine AD vérifie l'identité d'un utilisateur en envoyant une requête de liaison LDAP. Après vérification, le domaine AD recherche l'entrée de l'utilisateur dans Active Directory. Une fois l'utilisateur trouvé, le domaine AD récupère l'appartenance de l'utilisateur aux groupes à partir de l'attribut tokenGroups de l'entrée de l'utilisateur dans Active Directory. Pour plus d'informations, consultez la page Configuration d'un realm Active Directory.

  • Pour les instances Alibaba Cloud Elasticsearch exécutant les versions 6.x, 7.x ou 8.x :

    Ajoutez la configuration suivante au fichier YML de l'instance Elasticsearch cible pour configurer l'authentification AD pour l'utilisateur correspondant. Pour plus d'informations, consultez la rubrique Configurer les paramètres YML.

  • Pour les instances Alibaba Cloud Elasticsearch exécutant d'autres versions :

    Commencez par ajouter la configuration suivante au fichier YML de l'instance. Si la modification de configuration ne s'applique pas dans la console et que l'instance ne redémarre pas, soumettez un ticket et demandez au support technique d'appliquer la configuration.

xpack.security.authc.realms.active_directory.my_ad.order: 2
xpack.security.authc.realms.active_directory.my_ad.domain_name: ccy.com
xpack.security.authc.realms.active_directory.my_ad.url: ldap://ep-bp1i321219*******-cn-hangzhou-h.epsrv-bp15571d5ps*******.cn-hangzhou.privatelink.aliyuncs.com:389
xpack.security.authc.realms.active_directory.my_ad.bind_dn: cc**@ccy.com
xpack.security.authc.realms.active_directory.my_ad.bind_password: your_password

Paramètre

Description

order

L'ordre d'authentification pour ce realm.

Remarque

Dans la version 8.x, la valeur order doit être unique. Nous vous recommandons de la définir sur 2.

domain_name

Le nom du domaine racine.

url

L'URL et le numéro de port pour la connexion privée au domaine AD. Pour plus d'informations, consultez Configuration d'un realm Active Directory.

Important

Dans la nouvelle architecture réseau, la valeur doit être définie sur ldap://<nom de domaine de l'endpoint>:<port>. Cette rubrique utilise ldap://ep-bp1i321219***-cn-hangzhou-h.epsrv-bp15571d5ps***.cn-hangzhou.privatelink.aliyuncs.com:389 comme exemple.

bind_dn

L'utilisateur qui effectue toutes les requêtes de recherche AD.

bind_password

Le mot de passe du compte bind_dn.

Étape 3 : Mapper les rôles aux comptes de domaine

  1. Connectez-vous à la console Kibana de votre instance.

    Pour plus d'informations, consultez la rubrique Se connecter à la console Kibana.

    Remarque

    L'interface utilisateur peut varier selon la version de Kibana.

  2. Sur la page d'accueil de Kibana, cliquez sur Developer Tools.

  3. Dans l'onglet Console, exécutez la commande suivante pour définir l'utilisateur ccy1 du domaine AD en tant qu'administrateur.

    PUT /_security/role_mapping/basic_users
    {
      "roles": [ "superuser" ],
      "enabled": true,
      "rules": {
        "any": [
          {
            "field": {
              "groups": "cn=ali,dc=ccy,dc=com"
            }
          },
          {
            "field": {
              "dn": "cn=ccy1,cn=ali,dc=ccy,dc=com"
            }
          }
        ]
      }
    }

Étape 4 : Vérifier le résultat

  1. Connectez-vous à Kibana pour l'instance Elasticsearch cible en tant qu'utilisateur ccy1 autorisé.

  2. Sur la page d'accueil de Kibana, cliquez sur Developer Tools.

  3. Dans l'onglet Console, exécutez la commande suivante pour vérifier si l'utilisateur ccy1 dispose des autorisations nécessaires pour effectuer l'action correspondante.

    GET _cat/indices

    Si l'utilisateur ccy1 dispose des autorisations, le résultat suivant s'affiche, indiquant que les autorisations pour l'utilisateur ccy1 dans le domaine AD sont configurées avec succès.

     1  green open .apm-agent-configuration        4zvRAxNyTv6_xxx  1 1      0      0   522b    261b
     2  green open .monitoring-kibana-7-2021.12.08  Kr9Om1WUQW67xxx  1 1   3732      0  1.9mb   1.1mb
     3  green open product_info                     WPZ11CtfRL-hxxx  5 1      8      0 49.2kb  24.6kb
     4  green open .kibana_1                        ffs3ho7cTte0xxx  1 1     31      0 41.5mb  20.7mb
     5  green open .monitoring-es-7-2021.12.08      1efDbJNWT8uRxxx  1 1  44838  74520 63.1mb  31.6mb
     6  green open .security-7                      Gu8XhA-yQ46mxxx  1 1     58      9 302.1kb   151kb
     7  green open .monitoring-es-7-2021.12.06      PCVdQeP-R2SKxxx  1 1 111372 123120 140.5mb  70.2mb
     8  green open .monitoring-es-7-2021.12.07      udTlD2Q_S1ylxxx  1 1 186883 157638 229.1mb 114.3mb
     9  green open .apm-custom-link                 JVXx0qioQ9uMxxx  1 1      0      0   522b    261b
    10  green open .kibana_task_manager_1            nDKy8KLASsevxxx  1 1      6   3036  720kb   357kb
    11  green open .monitoring-kibana-7-2021.12.06  g0mwhwFaTduGxxx  1 1  12312      0  3.8mb   1.8mb
    12  green open .monitoring-kibana-7-2021.12.07  xfW97NKTT_a6xxx  1 1  17248      0  5.8mb   2.9mb
    13  green open .kibana-event-log-7.10.0-000001  rOefxK00Qtqrxxx  1 1      3      0 33.2kb  16.6kb
    14  green open product_info1                    VUF0kfAfSrG9xxx  1 1      8      0 11.9kb   5.9kb