Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

mongoldap

MongoDB Enterprise

O MongoDB Enterprise fornece para mongoldap testar as opções de configuração LDAP do MongoDB em um servidor LDAP em execução ou em um conjunto de servidores.

Para validar as opções LDAP no arquivo de configuração, configure a opção para o caminho do arquivo de mongoldap --config configuração.

Para testar as opções de configuração LDAP, você deve especificar um --user e --password mongoldap um. O simula a autenticação em um servidor MongoDB em execução com as opções de configuração e credenciais fornecidas.

mongoldap retorna um relatório que inclui o sucesso ou a falha de qualquer etapa do procedimento de autenticação ou autorização LDAP. As mensagens de erro incluem informações sobre erros específicos encontrados e possíveis conselhos para resolver o erro.

Ao configurar opções relacionadas à autorização LDAP, mongoldap executa uma query LDAP construída usando as opções de configuração e o nome de usuário fornecidos e retorna uma lista de funções no admin banco de dados para as quais o usuário está autorizado.

Você pode usar essas informações ao configurar funções de autorização LDAP para controle de acesso do usuário. Por exemplo , use para garantir que sua mongoldap configuração permita que usuários privilegiados obtenham as funções necessárias para executar as tarefas esperadas. Da mesma forma, use mongoldap para garantir que sua configuração não permita que usuários sem privilégios obtenham funções para acessar o servidor MongoDB ou executar ações não autorizadas.

Ao configurar opções relacionadas à autenticação LDAP, use para garantir que a operação de autenticação funcione conforme o mongoldap esperado.

Execute na linha de comando do sistema,mongoldap não mongosh no.

Este documento fornece uma visão geral completa de todas as opções de linha de comando mongoldap para.

A ferramenta faz mongoldap parte do pacote MongoDB Database Tools Extra e pode ser instalada com o MongoDB Server ou como uma instalação autônomo .

Para instalar o como parte de uma instalação do MongoDB Enterprise Edition mongoldap :

  • Siga as instruções para a sua plataforma: Instalar MongoDB Enterprise MongoDB Server

  • Após concluir a instalação, o e as outras ferramentas incluídas estarão disponíveis no mesmo local que omongoldap servidor.

    Observação

    Para o .msi assistente de instalação do Windows, a Complete opção de instalação do mongoldap inclui.

Para instalar o como uma instalação autônomo mongoldap :

  • Siga o link de baixar para MongoDB Enterprise Edition: Centro de download do MongoDB Enterprise

  • Selecione seu Platform (sistema operacional) no menu suspenso e, em seguida, selecione o Package apropriado para sua plataforma, de acordo com o gráfico a seguir:

    os
    Pacote

    Linux

    tgz Pacote

    Windows

    zip Pacote

    macOS

    tgz Pacote

  • Após o download, descompacte o arquivo e copie para um local no seu disco mongoldap rígido.

    Dica

    Os usuários de Linux e macOS podem copiar para um local do sistema de arquivos definido mongoldap na $PATH variável de ambiente,/usr/bin como. Isso permite referenciar mongoldap diretamente na linha de comando pelo nome, sem precisar especificar seu caminho completo ou primeiro navegar para seu diretório pai. Consulte o guia de instalação da sua plataforma para obter mais informações.

Observação

Uma descrição completa do LDAP ou Active Directory está além do escopo desta documentação.

Considere o seguinte arquivo de configuração de amostra, projetado para suportar a autenticação e autorização LDAP via Active Directory:

security:
authorization: "enabled"
ldap:
servers: "activedirectory.example.net"
bind:
queryUser: "mongodbadmin@dba.example.com"
queryPassword: "secret123"
userToDNMapping:
'[
{
match : "(.+)",
ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})"
}
]'
authz:
queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"
setParameter:
authenticationMechanisms: "PLAIN"

Você pode usar para validar o arquivo de configuração, que retorna um relatório do procedimento. Você deve especificar um nome de usuário e mongoldap senha mongoldap para.

mongoldap --config=<path-to-config> --user="bob@dba.example.com" --password="secret123"

Se as credenciais fornecidas forem válidas e as opções LDAP nos arquivos de configuração forem válidas, a saída poderá ser a seguinte:

Checking that an LDAP server has been specified...
[OK] LDAP server found
Connecting to LDAP server...
[OK] Connected to LDAP server
Parsing MongoDB to LDAP DN mappings..
[OK] MongoDB to LDAP DN mappings appear to be valid
Attempting to authenticate against the LDAP server...
[OK] Successful authentication performed
Checking if LDAP authorization has been enabled by configuration...
[OK] LDAP authorization enabled
Parsing LDAP query template..
[OK] LDAP query configuration template appears valid
Executing query against LDAP server...
[OK] Successfully acquired the following roles:
...

A partir do MongoDB 5.1, o mongoldap suporta prefixar o servidor LDAP com srv: e srv_raw:.

Se sua string de conexão especificar "srv:<DNS_NAME>", mongoldap verificará se "_ldap._tcp.gc._msdcs.<DNS_NAME>" existe para que o SRV seja compatível com o Active Directory. Se não encontrado, mongoldap verifica se "_ldap._tcp.<DNS_NAME>" existe para SRV. Se não for possível encontrar um registro SRV, mongoldap avisa para usar "srv_raw:<DNS_NAME>" no lugar.

Se sua string de conexão especificar "srv_raw:<DNS_NAME>", mongoldap executará uma pesquisa de registro SRV para "<DNS NAME>".

--config=<filename>, -f=<filename>

Especifica um arquivo de configuração para opções de configuração do tempo de execução. As opções são equivalentes às opções de configuração da linha de comando. Consulte Opções de arquivo de configuração autogerenciadas para obter mais informações.

mongoldap O usa todas as opções de configuração relacionadas à Autenticação de Proxy LDAP Autogerenciada ou Autorização LDAP em Sistemas Autogerenciados para testar a autenticação ou autorização LDAP .

Requer a --user especificação de. Pode aceitar --password para testar a autenticação LDAP.

Certifique-se de que o arquivo de configuração use codificação ASCII. A instância não suporta arquivos de configuração com codificação não ASCII, incluindo mongoldap UTF-.8

--user=<string>

Nome de usuário para usar ao tentar autenticação ou autorização LDAP mongoldap .

--password=<string>

Senha do --user para para utilizar ao tentar a autenticação LDAP. Não é necessário para autorização LDAP mongoldap .

--ldapServers=<host1>:<port>,<host2>:<port>,...,<hostN>:<port>

O servidor LDAP no qual o autentica os usuários ou determina quais ações um usuário está autorizado a executar em um determinado banco de dados. Se o servidor LDAP especificado tiver quaisquer instâncias replicadas, você poderá especificar o host e a porta de cada servidor replicado em uma lista delimitada por mongoldap vírgula.

Se sua infraestrutura LDAP dividir o diretório LDAP em vários servidores LDAP, especifique um servidor LDAP ou qualquer uma de suas instâncias replicadas no. O MongoDB suporta as --ldapServers seguintes referências LDAP, conforme definido em RFC...4511 4110 Não utilize o para listar todos os servidor LDAP em sua --ldapServers infraestrutura.

Semongoldap não estiver configurado, não poderá usar a autenticação ou autorização LDAP.

--ldapQueryUser=<string>

Disponível apenas no MongoDB Enterprise.

A identidade com a qual o se liga, ao conectar ou executar queries em um servidor mongoldap LDAP.

Obrigatório apenas se alguma das seguintes afirmações for verdadeira:

Você deve utilizar --ldapQueryUser --ldapQueryPasswordcom.

Se não estiver configurado, mongoldap não tentará vincular-se ao servidor LDAP.

Observação

Os sistemas do Windows MongoDB podem utilizar o--ldapBindWithOSDefaultsao invés do--ldapQueryUsere--ldapQueryPassword. Não é possível especificar--ldapQueryUsere--ldapBindWithOSDefaultsao mesmo tempo.

--ldapQueryPassword=<string | array>

Disponível apenas no MongoDB Enterprise.

A senha utilizada para vincular a um servidor LDAP ao utilizar --ldapQueryUser. Você deve utilizar --ldapQueryPassword com --ldapQueryUser.

Se não estiver configurado, o não tentará vincular ao servidormongoldap LDAP.

Você pode definir essa configuração em um em execução mongoldap setParameterusando.

O comando ldapQueryPassword setParameter aceita uma string ou um array de strings. Se ldapQueryPassword for definido como um array, o MongoDB tentará cada senha na ordem até que uma delas seja bem-sucedida. Use um array de senha para passar a senha da conta LDAP sem tempo de inatividade.

Observação

As implantações do Windows MongoDB podem utilizar --ldapBindWithOSDefaults ao invés de --ldapQueryUser e --ldapQueryPassword. Não é possível especificar --ldapQueryPassword e --ldapBindWithOSDefaults ao mesmo tempo.

--ldapBindWithOSDefaults=<bool>

Padrão: false

Disponível no MongoDB Enterprise apenas para a plataforma Windows.

Permite ao autenticar ou vincular, utilizando suas credenciais de login do Windows ao conectar ao servidor mongoldap LDAP.

Necessário apenas se:

Use --ldapBindWithOSDefaults para substituir --ldapQueryUser e.--ldapQueryPassword

--ldapBindMethod=<string>

Padrão: simples

Disponível apenas no MongoDB Enterprise.

O métodomongoldaputiliza para autenticar em um servidor LDAP. Utilize com--ldapQueryUsere--ldapQueryPasswordpara conectar ao servidor LDAP.

--ldapBindMethod suporta os seguintes valores:

Valor
Descrição

simple

mongoldap usa autenticação simples.

sasl

mongoldap usa protocolo SASL para autenticação.

Se você sasl especificar, você poderá configurar os mecanismos SASL disponíveis --ldapBindSaslMechanisms utilizando. padroniza para usarmongoldap o DIGEST-MD5 mecanismo.

--ldapBindSaslMechanisms=<string>

Padrão: DIGEST-MD5

Disponível apenas no MongoDB Enterprise.

Uma lista separada por vírgula de mecanismos SASL mongoldap pode utilizar ao autenticar no servidor LDAP. O e o servidor LDAP devem mongoldap mongoldap concordar com pelo menos um mecanismo. O carrega dinamicamente quaisquer bibliotecas de mecanismos SASL instaladas na máquina host no runtime.

Instale e configure as bibliotecas apropriadas para o(s) mecanismo(s) SASL selecionado(s) no host e no host do servidor LDAP remoto. Seu sistema operacional pode incluir determinadas bibliotecas SASL por padrão. Consulte a documentação associada a cada mecanismo SASL para obter orientações sobre instalação e mongoldap configuração.

Se estiver usando o GSSAPI mecanismo SASL para uso com a Autenticação Kerberos em Sistemas Autogerenciados, verifique o seguinte para a máquina mongoldap host:

Linux
Windows
Se estiver conectando a um servidor Active Directory, a configuração do Windows Kerberos gerará automaticamente um Ticket-Granting-Ticket quando o usuário fizer login no sistema.--ldapBindWithOSDefaults Defina true como para permitir que use as credenciais geradas ao se conectar ao servidor do Active Directory e executar mongoldap consultas.

Configure --ldapBindMethod para sasl para utilizar esta opção.

Observação

Para obter uma lista completa dos mecanismos SASL, consulte a lista da IANA . Consulte a documentação do seu serviço LDAP ou Active Directory para identificar os mecanismos SASL compatíveis com o serviço.

MongoDB não é uma fonte de bibliotecas de mecanismo SASL nem a documentação do MongoDB é uma fonte definitiva para instalação ou configuração de qualquer mecanismo SASL. Para documentação e suporte, consulte o fornecedor ou proprietário da biblioteca do mecanismo SASL.

Para obter mais informações sobre SASL, consulte os seguintes recursos:

--ldapTransportSecurity=<string>

Padrão: tls

Disponível apenas no MongoDB Enterprise.

Por padrão, o cria uma conexão segura TLS/SSL para o servidormongoldap LDAP.

Para implantações do Linux, você deve configurar as Opções de TLS apropriadas no arquivo /etc/openldap/ldap.conf. O gerenciador de pacotes do seu sistema operacional cria esse arquivo como parte da instalação do MongoDB Enterprise, por meio da dependência libldap. Consulte a documentação do TLS Options na documentação ldap.conf OpenLDAP para instruções mais completas.

Para o sistema do Windows, você deve adicionar os certificados CA do servidor LDAP à ferramenta de gerenciamento de certificados do Windows. O nome exato e a funcionalidade da ferramenta podem variar dependendo da versão do sistema operacional. Consulte a documentação da sua versão do Windows para obter mais informações sobre o gerenciamento de certificados.

Configure --ldapTransportSecurity como none para desabilitar o TLS/SSL entre mongoldap o e o servidor LDAP.

Aviso

Configurar --ldapTransportSecurity para none transmite informações de texto simples e possivelmente credenciais entre e o servidor mongoldap LDAP.

--ldapTimeoutMS=<int>

Padrão: 10000

Disponível apenas no MongoDB Enterprise.

A quantidade de tempo em milissegundos deve esperar que um servidor LDAP responda a uma mongoldap solicitação.

Aumentar o valor de pode evitar a falha de conexão entre o servidor MongoDB e o servidor LDAP --ldapTimeoutMS --ldapTimeoutMS , se a origem da falha for um tempo limite de conexão. Diminuir o valor de reduz o tempo que o MongoDB espera por uma resposta do servidor LDAP.

--ldapUserToDNMapping=<string>

Disponível apenas no MongoDB Enterprise.

Mapeia o nome de usuário fornecido a para autenticação para um Nome mongoldap --ldapUserToDNMapping Distinto (DN) LDAP. Talvez seja necessário usar para transformar um nome de usuário em um DN LDAP nos seguintes cenários:

  • Executando autenticação LDAP com ligação LDAP simples, onde os usuários se autenticam no MongoDB com nomes de usuário que não são DNs LDAP completos.

  • Utilizando um LDAP authorization query template que exige um DN.

  • Transformar os nomes de usuário dos clientes que se autenticam no mongo DB usando diferentes mecanismos de autenticação (por exemplo X.509, Kerberos) para um DN LDAP completo para autorização.

--ldapUserToDNMapping espera uma string JSON-string com aspas que represente uma array ordenada de documentos. Cada documento contém uma expressão regular match e um modelo substitution ou ldapQuery usado para transformar o nome de usuário recebido.

Cada documento na array tem o seguinte formato:

{
match: "<regex>"
substitution: "<LDAP DN>" | ldapQuery: "<LDAP Query>"
}
Campo
Descrição
Exemplo

match

Uma expressão regular (regex) formatada pelo ECMAScript para corresponder a um nome de usuário fornecido. Cada seção de parênteses representa um grupo de captura regex utilizado pelo substitution ou ldapQuery.

"(.+)ENGINEERING" "(.+)DBA"

substitution

Um modelo de formatação de nome diferenciado (DN) LDAP que converte o nome de autenticação correspondente pelo match regex em um DN LDAP. Cada valor numérico entre colchetes é substituído pelo grupo de captura de regex correspondente extraído do nome de usuário de autenticação por meio do match regex.

O resultado da substituição deve ser uma string escapada 4514 RFC.

"cn={0},ou=engineering, dc=example,dc=com"

ldapQuery

Um modelo de formatação de consulta LDAP que insere o nome de autenticação correspondente ao match regex em um URI de consulta LDAP codificado respeitando RFC4515 e4516 RFC. Cada valor numérico entre colchetes é substituído pelo grupo de captura de regex correspondente extraído do nome de usuário de autenticação por meio da match expressão . mongoldap O executa a query no servidor LDAP para recuperar o DN LDAP do usuário autenticado. mongoldap exige exatamente um resultado retornado para que a transformação seja bem-sucedida, ou mongoldap ignora essa transformação.

"ou=engineering,dc=example, dc=com??one?(user={0})"

Observação

Uma explicação de query4514 RFC, 4515RFC, RFC4516 ou LDAP está fora do escopo da documentação do MongoDB . Revise o RFC diretamente ou use o recurso LDAP da sua preferência.

Para cada documento na array, você deve usar substitution ou ldapQuery. Você não pode especificar ambos no mesmo documento.

Ao executar a autenticação ou autorização, mongoldap passa por cada documento na array na ordem fornecida, verificando o nome de usuário da autenticação no match filtro. Se uma correspondência for localizada, omongoldap aplicará a transformação e utilizará a saída para autenticar o usuário. não verifica os documentos restantes namongoldap array.

Se o documento fornecido não corresponder ao nome de autenticação fornecido, continuará na lista de documentos para encontrar correspondências adicionais. Se nenhuma correspondênciamongoldap mongoldap for encontrada em nenhum documento ou se a transformação descrita no documento falhar, retornará um erro.

mongoldap também retornará um erro se uma das transformações não puder ser avaliada devido a falhas de rede ou autenticação no servidor LDAP . rejeita a solicitação de conexão e não verifica os documentos restantes namongoldap array.

A partir do MongoDB,5.0 --ldapUserToDNMapping aceita uma string "" vazia ou uma array vazia [ ] no lugar de um documento de mapeamento. Se fornecer uma cadeia de caracteres vazia ou uma array vazia --ldapUserToDNMapping para, o MongoDB mapeará o nome de usuário autenticado como o DN LDAP. Anteriormente, fornecer um documento de mapeamento vazio causaria falha no mapeamento.

Exemplo

O seguinte mostra dois documentos de transformação. O primeiro documento corresponde a qualquer cadeia de caracteres que termine em @ENGINEERING, colocando qualquer coisa que preceda o sufixo em um grupo de captura de regex. O segundo documento corresponde a qualquer cadeia de caracteres que termine em @DBA, colocando qualquer coisa que preceda o sufixo em um grupo de captura de regex.

Importante

Você deve passar a array para --ldapUserToDNMapping como uma string.

"[
{
match: "(.+)@ENGINEERING.EXAMPLE.COM",
substitution: "cn={0},ou=engineering,dc=example,dc=com"
},
{
match: "(.+)@DBA.EXAMPLE.COM",
ldapQuery: "ou=dba,dc=example,dc=com??one?(user={0})"
}
]"

Um usuário com o nome de usuário alice@ENGINEERING.EXAMPLE.COM corresponde ao primeiro documento. O grupo de captura regex {0} corresponde à cadeia de caracteres alice. A saída resultante é o DN "cn=alice,ou=engineering,dc=example,dc=com".

Um usuário com nome de bob@DBA.EXAMPLE.COM usuário corresponde ao segundo documento. O grupo de captura de regex {0} corresponde à bob string. O resultado é a query "ou=dba,dc=example,dc=com??one?(user=bob)" LDAP. executa esta query no servidor LDAP , retornandomongoldap o "cn=bob,ou=dba,dc=example,dc=com" resultado.

Se o --ldapUserToDNMapping mongoldap estiver desmarcado, o não aplicará nenhuma transformação no nome de usuário ao tentar autenticar ou autorizar um usuário no servidor LDAP.

--ldapAuthzQueryTemplate=<string>

Disponível apenas no MongoDB Enterprise.

Uma URL de query LDAP relativa formatada em conformidade com RFC4515 e RFC4516 que o executa para obter os grupos LDAP aos quais o usuário autenticado pertence. A query é relativa ao host ou hosts mongoldap especificados --ldapServers no.

Na URL, você pode usar os seguintes tokens de substituição:

Token de substituição
Descrição

{USER}

Substitui o nome de usuário autenticado, ou o nome de usuário do transformed se um for username mapping especificado.

{PROVIDED_USER}

Substitui o nome de usuário fornecido, ou seja, antes da autenticação ou LDAP transformation.

Ao construir a URL de query, certifique-se de que a ordem dos parâmetros LDAP respeite RFC4516:

[ dn [ ? [attributes] [ ? [scope] [ ? [filter] [ ? [Extensions] ] ] ] ] ]

Se sua query incluir um atributo, pressupõe que a query recupera um dos DNs dos quais essa entidade émongoldap membro.

Se a sua consulta não incluir um atributo, mongoldap assume que a consulta recupera todas as entidades das quais o usuário é membro.

Para cada DN LDAP retornado pela consulta, o atribui ao usuário autorizado um papel correspondentemongoldap no admin banco de dados do. Se uma função no admin banco de dados corresponder exatamente ao DN, concede ao usuário as funçõesmongoldap db.createRole() e privilégios atribuídos a essa função. Consulte o método para obter mais informações sobre a criação de funções.

Exemplo

Esta query LDAP retorna quaisquer grupos listados no atributo memberOf do objeto de usuário LDAP.

"{USER}?memberOf?base"

Sua configuração LDAP pode não incluir o atributo memberOf como parte do esquema do usuário, pode possuir um atributo diferente para relatar a associação ao grupo ou pode não controlar a associação ao grupo por meio de atributos. Configure sua query com relação à sua configuração LDAP exclusiva.

Se não estiver configurado, mongoldap não poderá autorizar usuários usando LDAP.

Observação

Uma explicação das queries4515 de RFC, RFC4516 ou LDAP está fora de escopo para a documentação MongoDB . Revise o RFC diretamente ou use o recurso LDAP da sua preferência.