Overview
En el mecanismo de autenticación X.509, el servidor y el cliente utilizan el TLS protocolo para intercambiar certificados de clave pública X.509. Puedes utilizar este mecanismo para autenticarte en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.
Tip
X.509 Mecanismo
Para aprender a usar TLS/SSL con el controlador de Kotlin, consulta TLS/SSL.
Para obtener más información sobre509 los certificados X., consulte X. en el manual del servidor MongoDB.509
Marcadores de posición de código
Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:
hostname- dirección de red de su servidor MongoDB, accesible por su cliente.port- número de puerto de tu servidor MongoDB.authenticationDb- Base de datos MongoDB que contiene los datos de autenticación de los usuarios. Si omites este parámetro, el driver utilizará el valor por defectoadmin.
Autenticar con X.509
Selecciona el Connection String o la pestaña MongoCredential a continuación para obtener instrucciones y un código de muestra para especificar este mecanismo de autenticación:
Para especificar el mecanismo de autenticación X.509 mediante una cadena de conexión, asigne el valor MONGODB-X509 al parámetro authMechanism y habilite TLS asignando el valor true al parámetro tls. El código para instanciar un MongoClient debería ser similar al siguiente:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
Para especificar el X.509 mecanismo de autenticación mediante la MongoCredential clase, utilice el método createMongoX509Credential(). Además, habilite TLS llamando al método applyToSslSettings() y estableciendo la enabled propiedad en true en el bloque SslSettings.Builder. El código para instanciar un MongoClient debería ser similar al siguiente:
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 obtener información adicional sobre cómo configurar tu aplicación para usar certificados y opciones TLS/SSL, consulta nuestra guía de TLS/SSL.