Docs Menu
Docs Home
/ /

Configurar Kerberos para el conector de BI

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.

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

  • Instalar MongoDB Enterprise y iniciarlo como servicio.

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

  • Instalar el Conector de BI como un servicio.

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

    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.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"
  • Inicie sesión en el shell mongo y cree su usuario de 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

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

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úrese de que sus mongod instancias y estén mongos ejecutando MongoDB Enterprise.

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

    Ejemplo

    mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
  • Copie el archivo keytab que 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 predeterminadokrb5.keytab (), debe configurar la variable de entorno KRB _KTNAME.5

    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 su archivo de configuración de Kerberos no utiliza el nombre predeterminadokrb5.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>

    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.