Overview
En el mecanismo de autenticación X.509, el servidor y el cliente utilizan el TLS protocolo para intercambiar certificados de llave 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 Ruby, consulte TLS/SSL.
Para obtener más información sobre509 los certificados X., consulte X. en el manual de MongoDB Server.509
Marcadores de posición de código
Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:
+srv: Incluir esta opción en el prefijo de su cadena de conexión solamente si está conectando a un clúster de MongoDB Atlas. Para obtener más información sobre la opción+srv, consulte Formatos de cadena de conexión en el manual del servidor de MongoDB.<hostname>: La dirección de red de tu implementación de MongoDB.<port>Número de puerto de la implementación de MongoDB. Si omites este parámetro, el driver usará el puerto por defecto (27017). No necesitas un número de puerto al conectar a un clúster de MongoDB Atlas.<username>: El nombre de usuario del usuario asociado con el certificado X.509. El nombre de usuario debe coincidir con el nombre de sujeto distinguido del certificado. Si omites este parámetro, la implementación de MongoDB infiere el nombre de usuario del certificado X.509.<password>:La contraseña para el certificado X.509.
Para utilizar los ejemplos de código en esta página, reemplace estos marcadores de posición con sus propios valores.
Usar la autenticación X.509 en tu aplicación
La autenticación X.509 requiere el uso de cifrado TLS con validación de certificados. Para autenticar el cliente, necesitarás un certificado TLS válido y una clave privada de cifrado. Estos pueden almacenarse en archivos separados o juntos en un solo archivo .pem.
Nota
Incluso si el certificado y la clave privada están almacenados en el mismo archivo, debe especificar la ruta a ese archivo en las opciones ssl_cert y ssl_key.
Selecciona el Connection String o Client Options pestaña para ver la sintaxis correspondiente:
client = Mongo::Client.new("mongodb[+srv]://<hostname>[:<port>]/?authSource=$external&authMechanism=MONGODB-X509")
client = Mongo::Client.new('<host>', auth_mech: :mongodb_x509, ssl: true, ssl_cert: '/path/to/client.pem', ssl_key: '/path/to/client.pem', ssl_ca_cert: '/path/to/ca.pem')
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: