Novedades en la versión 2.5.
El conector MongoDB para BI admite la autenticación Kerberos para conectar herramientas de BI y para que el usuario administrador del conector de BI 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
Máquina cliente macOS autenticándose 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 creó.
Cree un usuario para MongoSQL en el dominio que creó.
Registrar un SPN para el servicio de MongoDB.
Registra un SPN para el servicio MongoSQL.
Habilite la delegación para su usuario del servicio MongoSQL.
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 está autenticando a un usuario desde un host Linux y el usuario del esquema usa un archivo keytab en lugar de una contraseña, se requiere lo siguiente además de crear el usuario en MongoDB:
Creación de 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 del 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 obtener más información, consulte 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 para muestrear datos.
Configuración del conector de BI
Instalar el BI Connector como servicio.
Inicie
mongosqldcomo el usuario de Windows de MongoSQL que creó 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" Abierto 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 en ningún
mongodb.net.auth.passwordvalor.
Tip
Para aprender a configurar Active Directory para administrar su instancia de MongoDB,consulte Configurar MongoDB con autenticación 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" Cree un archivo de tabla de claves en el KDC que contenga los principales de servicio Kerberos necesarios para
mongosqlmongosql2y.Ejemplo
mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
Configuración del conector de BI
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
default_keytab_nameopción de configuración, a diferencia de MIT Kerberos. Debe configurar laKRB5_KTNAMEvariable de entorno.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.