Menu Docs
Página inicial do Docs
/
BI Connector
/

Configurar Kerberos no BI Connector

Novidades na versão 2.5.

O MongoDB Connector para BI suporta a autenticação Kerberos para conectar ferramentas de BI e para o usuário administrador do BI Connector autenticar com MongoDB.

A seção a seguir orienta você na configuração do BI Connector para usar Kerberos com dois dos casos de uso mais comuns:

  • Máquinas de clientes Windows/Linux autenticadas no Active Directory

  • máquina do cliente macOS autenticando no Linux KDC

Se você tiver outro caso de uso, entre em contato como Suporte do MongoDB para obter ajuda.

Importante

A parte do domínio de qualquer nome de usuário deve ser escrita em todas as letras maiúsculas. Esta parte do nome de usuário corresponde a um Realm Kerberos ou domínio do Active Directory. É sensível a maiúsculas e minúsculas.

Exemplo

Supondo esta configuração:

  • Seu nome é Grace Smith.

  • Seu domínio do Windows é denominado EXAMPLE.COM.

  • Você está executando sua ferramenta de BI em um host Windows denominado BI.EXAMPLE.COM.

No Active Directory, você cria três usuários:

  • Para MongoDB: mongodb@EXAMPLE.COM

  • Para BI Connector: mongosql@EXAMPLE.COM

  • Para você: grace.smith@EXAMPLE.COM

Crie um SPN para cada serviço:

setspn.exe -S mongodb/BI.EXAMPLE.COM mongodb
setspn.exe -S mongosql/BI.EXAMPLE.COM mongosql

Observação

Os nomes podem ser qualquer coisa que você escolher, desde que os use consistentemente em toda a configuração.

Abra o Centro Administrativo do Active Directory e clique duas vezes no usuário do serviço MongoDB (mongodb).

Defina o mongosql usuário para delegar para o mongodb usuário do BI.EXAMPLE.COM host .

Observação

Autenticação do usuário do esquema Linux no ADC

Se você estiver autenticando um usuário de um host Linux e o usuário do esquema estiver usando um arquivo keytab em vez de uma senha, o seguinte será necessário além de criar o usuário no MongoDB:

  • Criando um UPN para o usuário do esquema.

  • Definindo o KRB5_CLIENT_KTNAME variável de ambiente para o keytab deste usuário.

    Esse KRB5_CLIENT_KTNAME deve incluir a chave para o usuário do esquema e para o usuário do serviço do BI Connector .

  • Instale o MongoDB Enterprise e inicie-o como um serviço.

  • Defina as seguintes opções no arquivo de configuração:

    net:
    bindIp: <fullHostnameOfBIConnector>
    setParameter:
    authenticationMechanisms: "GSSAPI"

    Para obter mais informações, consulte net.bindIp, setParameter e authenticationMechanisms.

  • Execute mongod como o usuário MongoDB do Windows que você criou no Active Directory.

  • Crie um usuário em seu banco de banco de dados MongoDB com osroles apropriados do para obter amostras de dados.

  • Instale o BI Connector como um serviço.

  • Inicie mongosqld como o usuário MongoSQL Windows que você criou no Active Directory.

  • Adicione as seguintes configurações de autenticação do BI Connector ao seu arquivo de configuração do mongosqld :

    security:
    enabled: true
    defaultMechanism: "GSSAPI"
    defaultSource: "$external"
    gssapi:
    hostname: <host running mongosqld>
    serviceName: <name of mongosqld service>

    Importante

    Definindo restrições

    Para mais informações, veja:

  • Adicione as seguintes configurações que o BI Connector usará para autenticar com MongoDB:

    mongodb:
    net:
    uri: "mongodb://<hostname and port of mongodb database>/"
    auth:
    username: <database username>
    password: <database password>
    source: "$external"
    mechanism: "GSSAPI"

    Para mais informações, veja:

Exemplo

  • Seu nome é Grace Smith.

  • Seu domínio do Windows é denominado EXAMPLE.COM.

  • Você está executando sua ferramenta de BI em um host Windows denominado BI.EXAMPLE.COM.

Em BI.EXAMPLE.COM:

  • Instalar o MongoDB e o MongoDB Connector for BI como serviços.

  • Edite seu arquivo mongod.cfg para se parecer com:

    systemLog:
    destination: "file"
    path: "c:\\data\\log\\mongod.log"
    verbosity: 2
    storage:
    dbPath: "c:\\data\\db"
    net:
    bindIp: BI.EXAMPLE.COM
    setParameter:
    authenticationMechanisms: "GSSAPI"
  • Faça login no shell mongo e crie seu usuário do BI Connector .

    db.getSiblingDB("$external").createUser(
    {
    user: "grace.smith@EXAMPLE.COM",
    roles: [ { role: "readAnyDatabase", db: "admin" } ]
    }
    )
  • Edite seu arquivo mongosqld.cfg para se parecer com:

    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"
  • Abra Services.

  • Definir MongoDB como Log on as: This account: mongodb@EXAMPLE.COM

  • Definir o MongoDB Connector for BI como Log on as: This account: mongosql@EXAMPLE.COM

  • Inicie o MongoDB e o MongoDB Connector for BI .

Observação

Autenticação do usuário do esquema Linux no ADC

Se você estiver autenticando um usuário de um host Linux e o usuário do esquema for usar um nome de usuário e uma senha, será necessário o seguinte:

Dica

Veja também:

Para saber como configurar o Active Directory para gerenciar sua instância do MongoDB, consulte Configurar o MongoDB com autenticação Kerberos e autorização do Active Directory.

  • Certifique-se de que suas instâncias do mongod e mongos estejam executando o MongoDB Enterprise.

  • Configure suas instâncias mongod e mongos para usar a autenticação Kerberos (GSSAPI).

  • Verifique se você define as seguintes opções no arquivo de configuração do MongoDB:

    net:
    bindIp: <fullHostnameOfBIConnector>
    setParameter:
    authenticationMechanisms: "GSSAPI"
  • Criar um arquivo keytab no KDC que tem as entidades de serviço Kerberos necessárias para mongosql e mongosql2.

    Exemplo

    mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
  • Copie o arquivo keytab que você criou para a implantação do MongoDB para o mesmo host que atende ao BI Connector.

  • Se o seu keytab não usar o nome padrão (krb5.keytab), você deverá definir o KRB5_KTNAME variável de ambiente.

    Observação

    A implementação do Kerberos no macOS, Heimmal, não suporta a default_keytab_name definição de configuração do , como o MIT Kerberos faz. Você deve definir a variável de ambiente KRB5_KTNAME .

  • Se o seu arquivo de configuração Kerberos não usar o nome padrão (krb5.conf), você deverá definir o KRB5_CONFIG variável de ambiente. (O Headal também suporta esta variável de ambiente.)

  • Adicione as seguintes configurações de autenticação do BI Connector ao seu arquivo de configuração do mongosqld :

    security:
    enabled: true
    defaultMechanism: "GSSAPI"
    defaultSource: "$external"
    gssapi:
    hostname: <host running mongosqld>
    serviceName: <name of mongosqld service>

    Observação

    Para mais informações, veja:

  • Adicione as seguintes configurações que o BI Connector usará para autenticar com MongoDB:

    mongodb:
    net:
    uri: "mongodb://<hostname and port of mongodb database>/"
    auth:
    username: <database username>
    password: <database password>
    source: "$external"
    mechanism: "GSSAPI"

    Para mais informações, veja:

Dica

Testando o BI Connector com Kerberos no localhost

Se você estiver testando o Kerberos com um mongosqld em execução em localhost, será necessário definir net.unixDomainSocket.enabled como true no arquivo de configuração mongosqld .