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 com o 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.
Configuração do Active Directory
Verifique se você tem um domínio configurado.
Crie um usuário para MongoDB no domínio que você criou.
Crie um usuário para MongoSQL no domínio que você criou.
Registre um SPN para o serviço MongoDB .
Registre um SPN para o Serviço MongoSQL.
Habilite a delegação para seu usuário do MongoSQL Service.
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.COMPara BI Connector:
mongosql@EXAMPLE.COMPara 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 a variável de ambiente KRB5_CLIENT_KTNAME para o keytab deste usuário.
Esse
KRB5_CLIENT_KTNAMEdeve incluir a chave para o usuário do esquema e para o usuário do serviço do BI Connector .
Configuração do MongoDB
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
mongodcomo 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.
Configuração do BI Connector
Instale o BI Connector como um serviço.
Inicie
mongosqldcomo 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
security.gssapi.hostnamedeve corresponder ao valor emsecurity.gssapi.serviceName.Se você configurou o Active Directory para usar delegação restrita, adicione
security.gssapi.constrainedDelegation: trueao arquivo de configuraçãomongosqldou a autenticação falhará.
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.cfgpara 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
mongoe 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.cfgpara 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.COMDefinir o MongoDB Connector for BI como Log on as: This account:
mongosql@EXAMPLE.COMInicie 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:
Definindo
mongodb.net.auth.usernamepara o UPN do usuário do esquema .Definindo
mongodb.net.auth.passwordpara nenhum valor.
Dica
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.
Configuração do MongoDB
Certifique-se de que suas instâncias do
mongodemongosestejam executando o MongoDB Enterprise.Configure suas instâncias
mongodemongospara 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" Crie um arquivo keytab no KDC que tenha as entidades de serviço Kerberos necessárias
mongosqlparamongosql2e.Exemplo
mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
Configuração do BI Connector
Copie o arquivo
keytabque você criou para a implantação do MongoDB para o mesmo host que atende ao BI Connector.Se o seu keytab não utilizar o nome padrão
krb5.keytab(), você deverá configurar a variável de ambiente KRB _KTNAME.5Observação
A implementação do Kerberos no macOS, Heimdal, não suporta a definição de configuração
default_keytab_name, como o MIT Kerberos. Você deve definir a variável de ambienteKRB5_KTNAME.Se o seu arquivo de configuração Kerberos não utilizar o nome padrão (
krb5.conf), você deverá configurar a variável de ambiente KRB5_CONFIG. (O Headal também suporta essa 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
security.gssapi.hostnamedeve corresponder ao valor emsecurity.gssapi.serviceName.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 .