Página inicial do Docs → Desenvolver aplicações → MongoDB Drivers → Java síncrono
Mecanismos de autenticação empresarial
Nesta página
Visão geral
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:
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.
Especificar um mecanismo de autenticaçã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:
Mecanismos
Kerberos (GSSAPI)
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 clienteport
- 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.
LDAP (simples)
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 LDAPpassword
- a senha do usuário LDAPhostname
- endereço de rede da sua MongoDB deployment, acessível pelo seu clienteport
- 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: