Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Configura Kerberos para BI Connector

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.

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.COM

  • Para el conector de BI: mongosql@EXAMPLE.COM

  • Para 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_KTNAME debe incluir la clave tanto para el usuario del esquema como para el usuario del servicio BI Connector.

  • Instalar MongoDB Enterprise y iniciarlo como servicio.

  • 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 mongod como 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.

  • Instalar el BI Connector como servicio.

  • Inicie mongosqld como 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

    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.cfg para 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 mongo y crear el usuario BI Connector.

    db.getSiblingDB("$external").createUser(
    {
    user: "grace.smith@EXAMPLE.COM",
    roles: [ { role: "readAnyDatabase", db: "admin" } ]
    }
    )
  • Edita tu archivo mongosqld.cfg para 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.COM

  • Configura MongoDB Connector para BI en Log on as: This account: mongosql@EXAMPLE.COM

  • Iniciar 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:

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.

  • Asegúrate de que tus instancias mongod y mongos estén ejecutando MongoDB Enterprise.

  • Configure sus instancias mongod y mongos para 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 mongosql mongosql2y.

    Ejemplo

    mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
  • Copia el archivo keytab que 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_name opción de configuración, a diferencia de MIT Kerberos. Debe configurar la KRB5_KTNAME variable 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

    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.