Visão geral
No mecanismo de autenticação X.509, o servidor e o cliente usam o protocolo TLS para trocar certificados de chave pública X.509. Você pode usar esse mecanismo para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.
Dica
X.509 Mecanismo
Espaços reservados de código
Os exemplos de código nesta página usam os seguintes espaços reservados:
hostname- endereço de rede do seu MongoDB Server, acessível pelo seu cliente.port- número da porta do seu servidor MongoDB.authenticationDb- Banco de dados MongoDB que contém os dados de autenticação do usuário. Se omitir este parâmetro, o driver utiliza o valor padrãoadmin.
Autentique com X.509
Selecione a guia Connection String ou MongoCredential abaixo para obter instruções e código de exemplo para especificar este mecanismo de autenticação:
Para especificar o mecanismo de autenticação X.509 usando uma string de conexão, atribua ao parâmetro authMechanism o valor MONGODB-X509 e habilite TLS atribuindo ao parâmetro tls um valor true. Seu código para instanciar um MongoClient deve ser semelhante ao seguinte:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
Para especificar o mecanismo de autenticação X.509 usando a classe MongoCredential, use o método createMongoX509Credential(). Além disso, habilite o TLS chamando o método applyToSslSettings() e definindo a propriedade enabled como true no bloco SslSettings.Builder. Seu código para instanciar um MongoClient deve ser semelhante ao seguinte:
val credential = MongoCredential.createMongoX509Credential() val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf( ServerAddress("<hostname>", "<port>")) ) } .applyToSslSettings { builder -> builder.enabled(true) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
Para obter informações adicionais sobre como configurar seu aplicação para usar certificados e opções TLS/SSL, consulte nosso guia TLS/SSL.