Menu Docs

Página inicial do DocsDesenvolver aplicaçõesMongoDB DriversJava síncrono

Mecanismos de autenticação empresarial

Nesta página

  • Visão geral
  • Especificar um mecanismo de autenticação
  • Mecanismos
  • Kerberos (GSSAPI)
  • LDAP (simples)

Neste guia, você aprenderá como autenticar com o MongoDB usando cada mecanismo de autenticação disponível exclusivamente no MongoDB Enterprise Edition.

Você pode usar os seguintes mecanismos com a versão mais recente do MongoDB Enterprise Edition:

  • Kerberos (GSSAPI)

  • LDAP (simples)

Para autenticar usando outro mecanismo, consulte o guia mecanismo de autenticação. Para obter mais informações sobre como estabelecer uma conexão com seu MongoDB cluster, leia nosso Guia de Conexão.

Você pode especificar seu mecanismo de autenticação e credenciais ao se conectar ao MongoDB usando um dos seguintes:

  • Uma connection string

  • Um método de fábrica do MongoCredential

Uma connection string (também conhecida como uri de conexão) especifica como se conectar e autenticar ao Cluster MongoDB.

Para autenticar usando uma cadeia de conexão, inclua suas configurações na cadeia de conexão e passe-a para o método MongoClients.create() para instanciar seu MongoClient. Selecione a aba Connection String para visualizar a sintaxe para autenticar utilizando uma cadeia de conexão.

Alternativamente, você pode utilizar a classe MongoCredential para especificar seus detalhes de autenticação. A classe MongoCredential contém métodos de fábrica estáticos que constroem instâncias contendo seu mecanismo de autenticação e credenciais. Quando você usa a classe auxiliar MongoCredential, é necessário usar a classe MongoClientSettings.Builder para definir as configurações de conexão ao construir o MongoClient. Selecione a aba MongoCredential para visualizar a sintaxe para autenticar utilizando um MongoCredential.

Para obter mais informações sobre essas classes e métodos, consulte a seguinte documentação da API:

O mecanismo de autenticação da API de Serviços de Segurança Genérica (GSSAPI) permite ao usuário se autenticar em um serviço Kerberos usando o nome principal do usuário.

Observação

O método refere-se ao GSSAPI mecanismo de autenticação em vez de Kerberos porque o driver autentica usando o GSSAPI RFC-4652 Mecanismo SASL.

Os seguintes trechos de código mostram como especificar o mecanismo de autenticação, usando os seguintes placeholders:

  • username - seu nome principal codificado por URL, por exemplo "username%40REALM.ME"

  • hostname - endereço de rede da sua MongoDB deployment, acessível pelo seu cliente

  • port - número da porta da sua implantação do MongoDB

Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para especificar este mecanismo de autenticação:

Para adquirir um ticket Kerberos, as bibliotecas Java do GSSAPI exigem que você especifique as propriedades do sistema realm e Key Administration Center (KDC). Consulte as configurações de amostra no exemplo a seguir:

java.security.krb5.realm=MYREALM.ME
java.security.krb5.kdc=mykdc.myrealm.me

Talvez seja necessário especificar uma ou mais das seguintes propriedades adicionais do mecanismo MongoCredential , dependendo da configuração do Kerberos:

  • SERVICE_NAME

  • CANONICALIZE_HOST_NAME

  • JAVA_SUBJECT

  • JAVA_SASL_CLIENT_PROPERTIES

  • JAVA_SUBJECT_PROVIDER

Por padrão, o driver Java armazena em cache tickets Kerberos por instância MongoClient . Se o seu sistema precisar criar e destruir instâncias MongoClient com frequência, você poderá alterar o comportamento padrão de cache de tíquetes do Kerberos para cache por processo para melhorar o desempenho.

Observação

No Windows, o JRE da Oracle usa LSA em vez de SSDI em sua implementação de GSSAPI, que limita a interoperabilidade com o Windows Active Directory e implementações de logon único. Consulte os seguintes artigos para obter mais informações:

Disponível no MongoDB Enterprise Edition 3.4 e posterior.

Você pode autenticar em um servidor LDAP (Lightweight Directory Access Protocol) usando seu nome de usuário e senha do servidor de diretórios.

Dica

O mecanismo de autenticação é nomeado PLAIN em vez de LDAP , pois autentica usando a camada simples de autenticação e segurança PLAIN (SASL) definida em RFC-4616.

Você pode especificar este mecanismo de autenticação configurando o parâmetro authMechanism para PLAIN e incluindo seu nome de usuário e senha LDAP na connection string.

Os seguintes trechos de código mostram como especificar o mecanismo de autenticação, usando os seguintes placeholders:

  • username - seu nome de usuário LDAP

  • password - a senha do usuário LDAP

  • hostname - endereço de rede da sua MongoDB deployment, acessível pelo seu cliente

  • port - número da porta da sua implantação do MongoDB

Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para especificar este mecanismo de autenticação:

← Mecanismos de autenticação