Todos os produtos
Search
Central de documentação

Elasticsearch:Integrar o X-Pack à autenticação LDAP

Última atualização: Jun 27, 2026

Este tópico descreve como configurar a autenticação via Lightweight Directory Access Protocol (LDAP) para uma instância do Alibaba Cloud Elasticsearch. Essa configuração permite que usuários LDAP com funções atribuídas acessem a instância.

Pré-requisitos

Atenda aos seguintes pré-requisitos:

  • Crie uma instância do Alibaba Cloud Elasticsearch. Este tópico usa uma instância da versão 6,7 como exemplo.

    Para mais informações, consulte Criar uma instância do Alibaba Cloud Elasticsearch.

  • Configure um serviço LDAP e dados de usuário na mesma VPC da sua instância do Alibaba Cloud Elasticsearch. Este tópico usa o OpenLDAP 2.4.44 como exemplo.

    Para obter detalhes, consulte a documentação oficial do LDAP. Exemplo de dados LDAP: ao visualizar com o phpLDAPadmin, o nó raiz da árvore de diretórios é dc=yaobili,dc=com, que contém várias unidades organizacionais (ou) e entradas de usuário (cn).

    Não há suporte para configuração por unidade organizacional (ou). Apenas cn e grupo são compatíveis.

Observações de uso

Desde outubro de 2020, o Alibaba Cloud Elasticsearch ajustou sua arquitetura de rede em diferentes regiões. Essa alteração afeta as instâncias recém-criadas:

  • Para instâncias criadas na arquitetura de rede antiga, use SNAT ou um proxy NGINX autogerenciado para acessar a internet.

  • Nas instâncias criadas na nova arquitetura de rede, aplicam-se restrições de rede ao recurso LDAP. Use o PrivateLink para estabelecer uma conexão privada entre VPCs. Para mais informações sobre como configurar o PrivateLink, consulte Configurar uma conexão privada para uma instância. Caso precise acessar a internet, configure um proxy NGINX para encaminhar as requisições.

  • Em instâncias criadas na arquitetura de rede antiga, o Alibaba Cloud Elasticsearch oferece suporte à autenticação LDAP apenas em uma única zona de disponibilidade.

Nota

Para mais informações sobre a arquitetura de rede, consulte [[Aviso] Ajuste na arquitetura de rede](t2521816.xdita#).

Procedimento

  1. Etapa 1: Obter um nome de domínio de endpoint (opcional)

  2. Etapa 2: Configurar a autenticação LDAP

  3. Etapa 3: Mapear contas de usuário LDAP para funções

  4. Etapa 4: Verificar os resultados

Etapa 1: Obter um nome de domínio de endpoint (opcional)

Clusters do Elasticsearch criados em outubro de 2020 ou posteriormente são implantados na nova arquitetura de rede. Esses clusters residem na VPC da conta de serviço do Elasticsearch. Se o seu cluster estiver implantado na nova arquitetura de rede, use o serviço PrivateLink para estabelecer uma conexão privada entre a VPC do serviço e a sua VPC. Em seguida, obtenha o nome de domínio do endpoint correspondente para uso futuro. Para obter o nome de domínio de um endpoint, execute as etapas a seguir:

  1. Crie uma instância do Classic Load Balancer (CLB) que ofereça suporte ao serviço PrivateLink e resida na mesma VPC do cluster Elasticsearch criado.

    Para mais informações, consulte Configurar uma conexão PrivateLink.

  2. Configure a instância do balanceador de carga.

    Ao configurar a instância, defina o servidor que hospeda seu serviço LDAP como servidor backend e a porta do listener como 389.

    Para mais informações, consulte Configurar uma conexão PrivateLink.

  3. Crie um serviço de endpoint.

    Para mais informações, consulte Configurar uma conexão PrivateLink.

  4. Configure uma conexão privada com o cluster Elasticsearch.

    Para mais informações, consulte Configurar uma conexão PrivateLink.

  5. Obtenha o nome de domínio do endpoint usado para acessar o serviço de endpoint.

    Para mais informações, consulte Configurar uma conexão PrivateLink.

    Nota

    Anote o nome de domínio obtido, pois ele será necessário nas configurações subsequentes.

Etapa 2: Configurar a autenticação LDAP

É possível configurar a autenticação LDAP para o X-Pack em um dos dois modos seguintes:

  • modo de busca de usuário

  • modo de modelo DN

O modo de busca de usuário é o método mais comum. Nesse modo, um usuário privilegiado pesquisa no diretório LDAP o nome distinto (DN) do usuário em autenticação. A busca utiliza o nome de usuário recebido pelo X-Pack e um filtro de atributo LDAP. Após localizar o DN, o X-Pack se vincula ao diretório com esse DN e a senha para autenticar o usuário. Para mais informações, consulte Configurar um realm LDAP.

Os exemplos a seguir mostram como mapear o DN de gerenciamento do LDAP. Adicione a configuração necessária ao arquivo YML do Elasticsearch. Para mais informações, consulte Configurar parâmetros YML. A configuração varia conforme a versão da sua instância do Alibaba Cloud Elasticsearch.

  • Versão 6,7

    xpack.security.authc.realms.ldap1.type: ldap
    xpack.security.authc.realms.ldap1.order: 2
    xpack.security.authc.realms.ldap1.url: "ldap://ep-bp1dhpobznlgjhj9****-cn-hangzhou-i.epsrv-bp1q8tcj2jjt5dwr****.cn-hangzhou.privatelink.aliyuncs.com:389"
    xpack.security.authc.realms.ldap1.bind_dn: "admin@yaobili.com"
    xpack.security.authc.realms.ldap1.bind_password: "yourPassword"
    xpack.security.authc.realms.ldap1.user_search.base_dn: "dc=yaobili,dc=com"
    xpack.security.authc.realms.ldap1.user_search.filter: "(cn={0})"
    xpack.security.authc.realms.ldap1.group_search.base_dn: "dc=yaobili,dc=com"
    xpack.security.authc.realms.ldap1.unmapped_groups_as_roles: false
  • Versão 7,10 e posteriores

    xpack.security.authc.realms.ldap.ldap1.order: 2
    xpack.security.authc.realms.ldap.ldap1.url: "ldap://ep-bp1dhpobznlgjhj9****-cn-hangzhou-i.epsrv-bp1q8tcj2jjt5dwr****.cn-hangzhou.privatelink.aliyuncs.com:389"
    xpack.security.authc.realms.ldap.ldap1.bind_dn: "admin@yaobili.com"
    xpack.security.authc.realms.ldap.ldap1.bind_password: "yourPassword"
    xpack.security.authc.realms.ldap.ldap1.user_search.base_dn: "dc=yaobili,dc=com"
    xpack.security.authc.realms.ldap.ldap1.user_search.filter: "(cn={0})"
    xpack.security.authc.realms.ldap.ldap1.group_search.base_dn: "dc=yaobili,dc=com"
    xpack.security.authc.realms.ldap.ldap1.unmapped_groups_as_roles: false

Parâmetro

Descrição

type

O tipo de realm. Defina este parâmetro como ldap.

order

A prioridade do realm. Um valor menor indica maior prioridade. Se você especificar múltiplos realms na configuração, recomendamos definir este parâmetro. O sistema acessa primeiro o realm com o menor valor de order.

Nota

Na versão 8.x, o valor de order deve ser único. Recomendamos definir o valor como 2.

url

A URL e a porta do servidor LDAP. O protocolo ldap indica uma conexão padrão na porta 389. O protocolo ldaps indica uma conexão segura via SSL na porta 636.

Importante

Para a nova arquitetura de rede, defina este parâmetro como nome de domínio do endpoint:porta. Obtenha o endpoint domain name na Etapa 1: Obter um nome de domínio de endpoint (opcional). Este tópico usa ep-bp1dhpobznlgjhj9**-cn-hangzhou-i.epsrv-bp1q8tcj2jjt5dwr**.cn-hangzhou.privatelink.aliyuncs.com:389 como exemplo.

bind_dn

O DN do usuário usado para vincular ao LDAP e realizar buscas. Este parâmetro aplica-se apenas ao modo de busca de usuário.

bind_password

A senha do usuário usado para vincular ao diretório LDAP.

user_search.base_dn

O DN do contêiner para buscas de usuários.

group_search.base_dn

O DN do contêiner usado para buscar os grupos aos quais um usuário pertence. Se este parâmetro não for especificado, o Elasticsearch busca o atributo definido por user_group_attribute para determinar a associação ao grupo.

unmapped_groups_as_roles

O valor padrão é false. Se definido como true, os nomes de quaisquer grupos LDAP não mapeados serão usados como nomes de função e atribuídos ao usuário.

Para mais informações sobre os parâmetros, consulte Configurações de segurança no Elasticsearch.

Etapa 3: Mapear contas de usuário LDAP para funções

  1. Faça login no console Kibana do seu cluster Elasticsearch.

    Para instruções, consulte Fazer login no console Kibana.

    Nota

    Os exemplos aqui usam o Elasticsearch V6.7.0. As operações podem variar ligeiramente em outras versões.

  2. No painel de navegação à esquerda, clique em Developer Tools.

  3. No Console, execute o comando a seguir para mapear usuários LDAP correspondentes a zhang* para a função superuser.

    Versão 8.x

    POST _security/role_mapping/ldap_super_user1?pretty
    {
      "roles": [ "superuser" ],
      "enabled": true,
      "rules": {
        "any": [
          {
            "field": {
              "username": "zhang*"
            }
          }
        ]
      }
    }

    Outras versões

    POST _xpack/security/role_mapping/ldap_super_user1?pretty
    {
      "roles": [ "superuser" ],
      "enabled": true,
      "rules": {
        "any": [
          {
            "field": {
              "username": "zhang*"
            }
          }
        ]
      }
    }

    Para mais informações, consulte a documentação da sua versão do Elasticsearch.

Etapa 4: Verifique os resultados

  1. Faça login no console Kibana da sua instância do Alibaba Cloud Elasticsearch como um usuário zhang* autorizado.

  2. No painel de navegação à esquerda, clique em Developer Tools.

  3. No Console, execute o comando a seguir para verificar se o usuário zhang* tem permissão para modificar as configurações do cluster.

    PUT _cluster/settings
    {
      "persistent": {
        "action.auto_create_index": true
      }
    }

    Um comando bem-sucedido retorna a seguinte resposta:

    {
      "acknowledged" : true,
      "persistent" : {
        "action" : {
          "auto_create_index" : "true"
        }
      },
      "transient" : { }
    }