Overview
En el mecanismo de autenticación X.509, el servidor y el cliente utilizan el protocolo TLS para intercambiar certificados de llave pública X.509. Puedes usar 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 Scala, consulte la guía Configurar la seguridad de la capa de transporte (TLS).
Para obtener más información sobre los certificados X.509 , consulta Usar certificados x.509 para autenticar clientes en implementaciones autogestionadas en el manual del MongoDB Server.
Marcadores de posición de código
Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:
<hostname>: La dirección de red de tu implementación de MongoDB.<port>: El número de puerto de la implementación de MongoDB. Si omite este parámetro, el controlador utiliza el número de puerto predeterminado (27017). No necesita un número de puerto para conectarse a un clúster de MongoDB Atlas.
Para utilizar los ejemplos de código, reemplaza estos marcadores de posición por tus propios valores.
Especificar la autenticación X.509
Seleccione la pestaña Connection String o MongoCredential para obtener instrucciones y un ejemplo de código:
Para especificar la autenticación X.509 con una cadena de conexión, establezca el parámetro authMechanism en MONGODB-X509 y el parámetro tls en true:
val mongoClient = MongoClient("mongodb://<hostname>:<port>/?authMechanism=MONGODB-X509&tls=true")
La clase MongoCredential representa una credencial de autenticación e incluye métodos de fábrica estáticos para cada mecanismo de autenticación. Para especificar la autenticación X.509 con un objeto MongoCredential, llame al método de fábrica createMongoX509Credential(). Para habilitar TLS, llame también a applyToSslSettings() y establezca la propiedad enabled en true:
val credential = MongoCredential.createMongoX509Credential() val mongoClient = MongoClient(MongoClientSettings .builder() .applyToClusterSettings(builder => builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>)))) .applyToSslSettings(builder => builder.enabled(true)) .credential(credential) .build())
Documentación de la API
Para aprender más sobre cualquiera de los métodos y tipos de MongoDB utilizados en esta página, consulta la siguiente documentación de la API: