Novedades en la versión 2.5.
El MongoDB Connector para BI admite la autenticación Kerberos para conectar herramientas de BI y para que el usuario administrador del BI Connector se autentique con MongoDB.
La siguiente sección te guía sobre cómo configurar el BI Connector para usar la autenticación Kerberos en dos de los casos de uso más comunes:
Las máquinas cliente de Windows/Linux que se autentican en Active Directory
autenticación de la máquina cliente de macOS en Linux KDC
Si tienes otro caso de uso, te pedimos que contactes a asistencia de MongoDB para recibir apoyo.
Importante
La parte de dominio de cualquier nombre de usuario debe escribirse en mayúsculas. Esta parte del nombre de usuario corresponde a un realm de Kerberos o a un dominio de Active Directory. Es sensible a mayúsculas y minúsculas.
Configuración de Active Directory
Asegúrate de tener un dominio configurado.
Crear un usuario para MongoDB en el dominio que creaste.
Crea un usuario para MongoSQL en el dominio que creaste.
Registrar un SPN para el servicio de MongoDB.
Registra un SPN para el servicio MongoSQL.
Habilite la delegación para su usuario de MongoSQL Service.
Ejemplo
Asumiendo esta configuración:
Tu nombre es
Grace Smith.Su dominio de Windows se llama
EXAMPLE.COM.Estás ejecutando tu herramienta de BI en un host de Windows llamado
BI.EXAMPLE.COM.
En Active Directory, creas tres usuarios:
Para MongoDB:
mongodb@EXAMPLE.COMPara el conector de BI:
mongosql@EXAMPLE.COMPara ti:
grace.smith@EXAMPLE.COM
Crea un SPN para cada servicio:
setspn.exe -S mongodb/BI.EXAMPLE.COM mongodb setspn.exe -S mongosql/BI.EXAMPLE.COM mongosql
Nota
Los nombres pueden ser los que usted elija siempre y cuando los utilice de manera constante en toda esta configuración.
Abre el Centro de administración de Active Directory y haz doble clic en tu usuario de servicio de MongoDB (mongodb).
Configura el usuario mongosql para que actúe como delegado del usuario mongodb desde el host BI.EXAMPLE.COM.
Nota
Usuario del esquema de Linux autenticándose en ADC
Si se está autenticando a un usuario desde un host Linux y el usuario de esquema está usando un archivo keytab en lugar de una contraseña, además de crear el usuario en MongoDB, se requiere lo siguiente:
Creando un UPN para el usuario del esquema.
Estableciendo la variable de entorno KRB5_CLIENT_KTNAME en el keytab de este usuario.
Este
KRB5_CLIENT_KTNAMEdebe incluir la clave tanto para el usuario de esquema como para el usuario del servicio BI Connector.
Configuración de MongoDB
Configura las siguientes opciones en el archivo de configuración:
net: bindIp: <fullHostnameOfBIConnector> setParameter: authenticationMechanisms: "GSSAPI" Para más información, consulta net.bindIp, setParameter y authenticationMechanisms.
Ejecute
mongodcomo el usuario de Windows de MongoDB que creó en el Directorio Activo.Cree un usuario en su base de datos MongoDB con el roles apropiados en los datos de muestra.
Configuración del BI Connector
Instalar el BI Connector como servicio.
Inicie
mongosqldcomo el usuario de MongoSQL para Windows que ha creado en Active Directory.Agregue los siguientes ajustes de autenticación de BI Connector a su archivo de configuración
mongosqld:security: enabled: true defaultMechanism: "GSSAPI" defaultSource: "$external" gssapi: hostname: <host running mongosqld> serviceName: <name of mongosqld service> Importante
Configuración de restricciones
security.gssapi.hostnamedebe coincidir con el valor ensecurity.gssapi.serviceName.Si configuraste Active Directory para usar delegación restringida, agrega
security.gssapi.constrainedDelegation: trueal archivo de configuraciónmongosqldo fallará la autenticación.
Para obtener más información, consulte:
Agrega las siguientes configuraciones que el BI Connector usará para autenticarse con MongoDB:
mongodb: net: uri: "mongodb://<hostname and port of mongodb database>/" auth: username: <database username> password: <database password> source: "$external" mechanism: "GSSAPI" Para obtener más información, consulte:
Ejemplo
Su nombre es
Grace Smith.Su dominio de Windows se llama
EXAMPLE.COM.Estás ejecutando tu herramienta de BI en un host de Windows llamado
BI.EXAMPLE.COM.
En BI.EXAMPLE.COM:
Instala MongoDB y el Connector MongoDB para BI como servicios.
Edita tu archivo
mongod.cfgpara que se asemeje a:systemLog: destination: "file" path: "c:\\data\\log\\mongod.log" verbosity: 2 storage: dbPath: "c:\\data\\db" net: bindIp: BI.EXAMPLE.COM setParameter: authenticationMechanisms: "GSSAPI" Ingresar en el shell
mongoy crear el usuario BI Connector.db.getSiblingDB("$external").createUser( { user: "grace.smith@EXAMPLE.COM", roles: [ { role: "readAnyDatabase", db: "admin" } ] } ) Edita tu archivo
mongosqld.cfgpara que se asemeje a:systemLog: path: "c:\\data\\log\\mongosqld.log" logAppend: true logRotate: "reopen" verbosity: 3 runtime: memory: maxPerStage: 102400 net: bindIp: BI.EXAMPLE.COM port: 3306 security: enabled: true defaultSource: "$external" defaultMechanism: "GSSAPI" gssapi: hostname: "BI.EXAMPLE.COM" serviceName: "mongosql" mongodb: net: uri: "mongodb://BI.EXAMPLE.COM/" auth: username: "grace.smith@EXAMPLE.COM" password: "abc123!" source: "$external" mechanism: "GSSAPI" processManagement: service: displayName: "MongoDB BI Connector" Abrir Services.
Establecer MongoDB en Log on as: This account:
mongodb@EXAMPLE.COMConfigura MongoDB Connector para BI en Log on as: This account:
mongosql@EXAMPLE.COMIniciar los servicios MongoDB y MongoDB Connector for BI.
Nota
Usuario del esquema de Linux autenticándose en ADC
Si va a autenticar a un usuario desde un host Linux y su usuario de esquema va a utilizar un nombre de usuario y una contraseña, se requiere lo siguiente:
Configurando
mongodb.net.auth.usernameal UPN del usuario del esquema.Estableciendo
mongodb.net.auth.passwordsin valor.
Tip
Para aprender a configurar Active Directory para gestionar tu instancia de MongoDB, consulta Configura MongoDB con autenticación de Kerberos y autorización de Active Directory.
Configuración de MongoDB
Asegúrate de que tus instancias
mongodymongosestén ejecutando MongoDB Enterprise.Configure sus instancias
mongodymongospara usar autenticación Kerberos (GSSAPI).Verifique que haya configurado las siguientes opciones en el archivo de configuraciónde MongoDB:
net: bindIp: <fullHostnameOfBIConnector> setParameter: authenticationMechanisms: "GSSAPI" Crear un archivo keytab en el KDC que tenga los principales de servicio de Kerberos necesarios para
mongosqlymongosql2.Ejemplo
mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
Configuración del BI Connector
Copia el archivo
keytabque creaste para tu implementación de MongoDB en el mismo host que sirve para el BI Connector.Si tu keytab no utiliza el nombre por defecto (
krb5.keytab), debes establecer la variable de entorno KRB5_KTNAME.Nota
La implementación de Kerberos en macOS, Heimdal, no admite la configuración
default_keytab_name, como sí lo hace MIT Kerberos. Debe establecer la variable de entornoKRB5_KTNAME.Si el archivo de configuración de Kerberos no utiliza el nombre por defecto (
krb5.conf), debes establecer la variable de entorno KRB5_CONFIG. (Heimdal también admite esta variable de entorno.)Agregue los siguientes ajustes de autenticación de BI Connector a su archivo de configuración
mongosqld:security: enabled: true defaultMechanism: "GSSAPI" defaultSource: "$external" gssapi: hostname: <host running mongosqld> serviceName: <name of mongosqld service> Nota
security.gssapi.hostnamedebe coincidir con el valor ensecurity.gssapi.serviceName.Para obtener más información, consulte:
Agrega las siguientes configuraciones que el BI Connector usará para autenticarse con MongoDB:
mongodb: net: uri: "mongodb://<hostname and port of mongodb database>/" auth: username: <database username> password: <database password> source: "$external" mechanism: "GSSAPI" Para obtener más información, consulte:
Tip
Prueba de BI Connector con Kerberos en localhost
Si estás probando Kerberos con un mongosqld que se ejecuta en un localhost, debes establecer net.unixDomainSocket.enabled en true en el archivo de configuración mongosqld.