Overview
El mecanismo de autenticación de la API de Servicios de Seguridad Genéricos (GSSAPI) te permite usar tu nombre principal para autenticarte en un servicio de Kerberos. Solamente se puede utilizar este mecanismo al autenticar en MongoDB Enterprise Advanced.
Marcadores de posición de código
Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:
<username>: LDAP username.<hostname>: Dirección de red de su implementación de MongoDB.<port>: Número de puerto de tu implementación MongoDB. Si omites este parámetro, el driver usará el puerto por defecto (27017). Especificar un número de puerto es opcional al conectarse a un clúster de MongoDB Atlas.<authentication_db>base de datos MongoDB que contiene las credenciales LDAP del usuario. Si omites este parámetro, el driver usará la base de datos por defecto (admin).
Para usar los ejemplos de código en esta página, reemplaza estos marcadores de posición con tus propios valores.
Uso de la autenticación GSSAPI en su aplicación
Para configurar MongoDB Server para usar Kerberos, consulta la Documentación de MongoDB Server Kerberos.
Para utilizar el mecanismo de autenticación Kerberos con el driver Ruby, se debe instalar y cargar el mongo_kerberos librería. Para ello, añade las siguientes líneas a tu Gemfile:
gem 'mongo', '~> 2' gem 'mongo_kerberos', '~> 2'
Luego, añade las siguientes líneas a tu código de aplicación:
require 'mongo' require 'mongo_kerberos'
Nota
Al utilizar la autenticación Kerberos, debes especificar el nombre de dominio completo (FQDN) del host.
Las siguientes secciones describen cómo utilizar la autenticación Kerberos con Ruby MRI y JRuby.
Uso de la autenticación Kerberos con Ruby MRI
Si estás utilizando la autenticación de Kerberos con Ruby MRI, debes realizar los siguientes pasos:
Establece una sesión de Kerberos en el driver. El driver utiliza esta sesión para probar la identidad del usuario ante el servidor.
Debe asegurarse de que el sistema host esté configurado para la autenticación Kerberos. Para obtener más información sobre cómo configurar el sistema host para usar Kerberos, consulta la Documentación de Kerberos o la documentación de tu sistema operativo para más detalles.
Utiliza la utilidad kinit para establecer una sesión de Kerberos.
Uso de autenticación Kerberos con JRuby
Si utilizas la autenticación Kerberos con JRuby, puedes establecer externamente la sesión de Kerberos al driver utilizando el proceso descrito anteriormente para MRI. También puede proporcionar la ruta a un archivo keytab almacenando la configuración en la propiedad del sistema java.security.auth.login.config. También debes configurar el entorno de ejecución de Java para utilizar Kerberos. Para obtener más información, consulta la Documentación de MongoDB Java Driver Kerberos para más información.
Ejemplo de autenticación Kerberos
Selecciona el Connection String o la pestaña Client Options para ver la sintaxis correspondiente para conectar a MongoDB con autenticación Kerberos:
client = Mongo::Client.new("mongodb://<username>@<hostname>[:<port>]/<authentication_db>?authMechanism=GSSAPI")
client = Mongo::Client.new(['<hostname>[:<port>]'], auth_mech: :gssapi, user: '<username>')
Nota
Si utilizas una cadena de conexión para conectarte a MongoDB, asegúrate de codificar con porcentaje cualquier carácter especial que aparezca en el nombre de usuario.
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos tratados en esta página, consulta la siguiente documentación de la API: