Nuevo 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 lo guiará a través de la configuración del Conector de BI para utilizar la autenticación Kerberos con dos de los casos de uso más comunes:
Máquinas cliente de Windows/Linux que se autentican en Active Directory
Máquina cliente macOS autenticándose en Linux KDC
Si tiene otro caso de uso, comuníquese con el soporte de MongoDB para obtener ayuda.
Importante
La parte del dominio de cualquier nombre de usuario debe escribirse en mayúsculas. Esta parte del nombre de usuario corresponde a un dominio Kerberos o de Active Directory. Distingue entre mayúsculas y minúsculas.
Configuración de Active Directory
Asegúrese 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 MongoDB.
Registre un SPN para el servicio MongoSQL.
Habilite la delegación para su usuario del servicio MongoSQL.
Ejemplo
Suponiendo esta configuración:
Tu nombre es
Grace Smith.Su dominio de Windows se llama
EXAMPLE.COM.Está ejecutando su herramienta de BI en un host de Windows llamado
BI.EXAMPLE.COM.
En Active Directory, se crean 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 cualquier cosa que elijas siempre y cuando los uses de manera consistente durante esta configuración.
Abra el Centro administrativo de Active Directory y haga doble clic en su usuario de servicio MongoDBmongodb ().
Establezca el usuario mongosql para delegar en nombre del usuario mongodb desde el host BI.EXAMPLE.COM.
Nota
Autenticación de usuario del esquema de Linux 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.
Establecer la variable de entorno KRB _CLIENT_KTNAME en la5tabla de claves 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
Establezca 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 Active Directory.Cree un usuario en su base de datos MongoDB con el Roles apropiados para muestrear datos.
Configuración del conector de BI
Instalar el Conector de BI como un servicio.
Inicie
mongosqldcomo el usuario de Windows de MongoSQL que creó en Active Directory.Agregue las siguientes configuraciones 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
Establecer restricciones
security.gssapi.hostnamedebe coincidir con el valorsecurity.gssapi.serviceNameen.Si configuró Active Directory para usar delegación restringida, agregue
security.gssapi.constrainedDelegation: trueal archivo de configuraciónmongosqldo la autenticación fallará.
Para obtener más información, consulte:
Agregue las siguientes configuraciones que el Conector de BI utilizará 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á ejecutando su herramienta de BI en un host de Windows llamado
BI.EXAMPLE.COM.
En BI.EXAMPLE.COM:
Instalar MongoDB y MongoDB Connector 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" Inicie sesión en el shell
mongoy cree su usuario de 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.COMInicie MongoDB y MongoDB Connector para servicios de BI.
Nota
Autenticación de usuario del esquema de Linux en ADC
Si está autenticando a un usuario desde un host Linux y su esquema de usuario va a utilizar un nombre de usuario y una contraseña, se requiere lo siguiente:
Configuración en
mongodb.net.auth.usernameel 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úrese de que sus
mongodinstancias y esténmongosejecutando MongoDB Enterprise.Configure sus instancias
mongodymongospara usar autenticación Kerberos (GSSAPI).Verifique que configure las siguientes opciones en el archivo de configuración de 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
Copie el archivo
keytabque creó para su implementación de MongoDB en el mismo host que sirve al Conector de BI.Si su tabla de claves no utiliza el nombre predeterminado
krb5.keytab(), debe configurar la variable de entorno KRB _KTNAME.5Nota
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 su archivo de configuración de Kerberos no utiliza el nombre predeterminado
krb5.conf(), debe configurar la variable de entorno KRB _CONFIG.5 (Heimdal también admite esta variable de entorno).Agregue las siguientes configuraciones 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 valorsecurity.gssapi.serviceNameen.Para obtener más información, consulte:
Agregue las siguientes configuraciones que el Conector de BI utilizará 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 del conector de BI con Kerberos en el host local
Si está probando Kerberos con un mongosqld ejecutándose en localhost un, debe establecer net.unixDomainSocket.enabled en true en el archivo de configuración de mongosqld.