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 se omite este parámetro, el controlador utiliza la base de datos predeterminada (admin).
Para utilizar los ejemplos de código en esta página, reemplace estos marcadores de posición con sus 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_kerberosbiblioteca. Para ello, agregue las siguientes líneas a Gemfile su:
gem 'mongo', '~> 2' gem 'mongo_kerberos', '~> 2'
Luego, agregue las siguientes líneas al código de su aplicación:
require 'mongo' require 'mongo_kerberos'
Nota
Al utilizar la autenticación Kerberos, debe 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:
Establezca una sesión Kerberos en el controlador. El controlador utiliza esta sesión para verificar 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 conectarse 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 obtener más información sobre cualquiera de los métodos o tipos analizados en esta página, consulte la siguiente documentación de API: