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
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.
Autentícate con X.509
Selecciona el Connection String o la pestaña MongoCredential a continuación para obtener instrucciones y muestras de código para especificar este mecanismo de autenticación:
Para especificar el mecanismo de autenticación X.509 mediante una cadena de conexión, asigna el valor MONGODB-X509 al parámetro authMechanism y activa TLS asignando al parámetro tls un valor de true. Tu código para instanciar un MongoClient debe parecerse al siguiente:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
Para especificar el mecanismo de autenticación X.509 usando la clase MongoCredential, utiliza el método createMongoX509Credential(). También, habilite TLS llamando al método applyToSslSettings() y estableciendo la propiedad enabled en true en el bloque SslSettings.Builder. El código para crear una instancia de un MongoClient debe parecerse 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.