Overview
El mecanismo de autenticación de la API de Servicios de Seguridad Genéricos (GSSAPI) le permite usar su nombre principal para autenticarse en un servicio Kerberos. Este mecanismo solo se puede usar al autenticarse en MongoDB Enterprise Advanced.
Marcadores de posición de código
Los ejemplos de código de 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 su implementación de MongoDB. Si omite este parámetro, el controlador usa el número de puerto predeterminado (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 utilizar Kerberos, consulte la Documentación de Kerberos del servidor MongoDB.
Para utilizar el mecanismo de autenticación Kerberos con el controlador Ruby, debe instalar y cargar 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 utiliza la autenticación Kerberos con Ruby MRI, debe 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, consulte la documentación de Kerberos o la documentación de su sistema operativo.
Utilice la utilidad kinit para establecer una sesión Kerberos.
Uso de autenticación Kerberos con JRuby
Si utiliza la autenticación Kerberos con JRuby, puede establecer externamente la sesión Kerberos con el controlador mediante el proceso descrito anteriormente para MRI. También puede proporcionar la ruta a un archivo keytab almacenando la configuración en la java.security.auth.login.config propiedad del sistema. También debe configurar Java Runtime Environment para usar Kerberos. Para obtener más información, consulte la documentación de MongoDB Java Driver Kerberos.
Ejemplo de autenticación Kerberos
Seleccione 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 utiliza una cadena de conexión para conectarse a MongoDB, asegúrese de codificar en 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: