O Looker tem suporte de nível de integração para MSSQL. Esta página contém informações sobre como conectar o Looker ao MSSQL.
Criptografar o tráfego de rede
É uma prática recomendada criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Como ativar o acesso seguro ao banco de dados.
Se você estiver interessado em usar criptografia SSL, consulte oDocumentação da Microsoft.
Configurando a autenticação do servidor
O Looker requer "Autenticação do SQL Server" no seu servidor MSSQL. Se o seu servidor MSSQL estiver configurado apenas como "Autenticação Integrada do Windows", altere a configuração do servidor para "Autenticação Integrada do Windows e Autenticação do SQL Server".
Se a configuração do servidor não estiver correta, o Looker não conseguirá se conectar. Isso aparecerá nas mensagens de log do seu SQL Server da seguinte forma: "Falha na tentativa de fazer login usando a autenticação SQL." O servidor está configurado apenas para autenticação do Windows.
Caso essa alteração seja necessária, você pode seguir os seguintes passos:
- No Explorador de Objetos do SQL Server Management Studio, clique com o botão direito do mouse no servidor e, em seguida, clique em Propriedades.
- Na página Segurança, em Autenticação do servidor, selecione o novo modo de autenticação do servidor e clique em OK.
- No SQL Server Management Studio caixa de diálogo, clique OK Confirmar a necessidade de reiniciar o SQL Server.
- No Explorador de Objetos, clique com o botão direito do mouse no seu servidor e, em seguida, clique em Reiniciar. Se o SQL Server Agent estiver em execução, ele também deverá ser reiniciado.
Você pode ler mais sobre isso emDocumentação da Microsoft.
Criando um usuário do Looker
O Looker autentica-se na sua base de dados utilizando a Autenticação do SQL Server. O uso de uma conta de domínio não é suportado.
Para criar uma conta, execute os seguintes comandos. Substitua some_password_here por uma senha única e segura:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Conceder permissão ao usuário do Looker para selecionar dados de tabelas.
O Looker requer a permissão SELECT para cada tabela ou esquema que você deseja consultar. Existem várias maneiras de atribuir permissão a SELECT:
Para conceder permissão
SELECTa esquemas individuais, execute o seguinte comando para cada esquema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;Para conceder permissão
SELECTa tabelas individuais, execute o seguinte comando para cada tabela:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;Para o MSSQL versão 2012 ou posterior, você pode, alternativamente, atribuir a função
db_datareaderao usuário Looker usando estes comandos:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Conceder permissão ao usuário do Looker para visualizar e interromper a execução de consultas.
O Looker precisa estar autorizado a detectar e interromper consultas em execução, o que requer as seguintes permissões:
ALTER ANY CONNECTIONVIEW SERVER STATE
Para conceder essas permissões, execute os seguintes comandos:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Conceder permissão ao usuário do Looker para criar tabelas.
Para conceder ao usuário do Looker a permissão para criar PDTs, execute os seguintes comandos:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Configuração do esquema temporário
Para criar um esquema que pertença ao usuário Looker e conceder os direitos necessários a esse usuário, execute o seguinte comando:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Configurando a autenticação Kerberos
Se você utiliza autenticação Kerberos com seu banco de dados MSSQL, siga os passos para configurar o Looker para se conectar usando Kerberos, conforme descrito na seção a seguir.
Configurando o cliente Kerberos
Primeiramente, é necessário garantir a instalação de diversos softwares e a presença de vários arquivos na máquina do Looker.
Cliente Kerberos
Verifique se o cliente Kerberos está instalado na máquina Looker executando kinit. Se o cliente Kerberos não estiver instalado, instale os binários do cliente Kerberos.
Por exemplo, no Red Hat ou CentOS, seria o seguinte:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
O Java 8 deve estar instalado na máquina Looker e nos diretórios PATH e JAVA_HOME do usuário Looker. Se necessário, instale-o localmente no diretório looker.
Extensão de Criptografia Java
Baixe e instale a Extensão de Criptografia Java (JCE) para Java 8 a partir deste link.Página de download da Oracle .
- Localize o diretório
jre/lib/securitypara a instalação do Java. - Remova os seguintes arquivos JAR deste diretório:
local_policy.jareUS_export_policy.jar. - Substitua esses dois arquivos pelos arquivos JAR incluídos no download dos Arquivos de Política de Jurisdição de Força Ilimitada do JCE.
Pode ser possível usar versões do Java anteriores ao Java 8 com o JCE instalado, mas isso não é recomendado.
- Localize o diretório
Atualize
JAVA_HOMEePATHem~looker/.bash_profilepara apontar para a instalação correta do Java esource ~/.bash_profileou faça logout e login novamente.Verifique a versão do Java com
java -version.Verifique a variável de ambiente
JAVA_HOMEcomecho $JAVA_HOME.
gss-jaas.conf
Crie um arquivo gss-jaas.conf no diretório looker com o seguinte conteúdo:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Se necessário para testes, debug=true pode ser adicionado a este arquivo da seguinte forma:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
O servidor que está executando o Looker também deve ter um arquivo krb5.conf válido. Por padrão, este arquivo está em /etc/krb5.conf. Se estiver em outro local, isso deve ser indicado no ambiente (KRB5_CONFIG no ambiente shell).
Você pode precisar copiar isso de outra máquina cliente Kerberos.
lookerstart.cfg
Aponte para os arquivos gss-jaas.conf e krb5.conf criando um arquivo no diretório looker (o mesmo diretório que contém o script de inicialização do looker) chamado lookerstart.cfg que contenha as seguintes linhas:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
Se o arquivo krb5.conf não estiver em /etc/krb5.conf, também será necessário adicionar esta variável:
-Djava.security.krb5.conf=/path/to/krb5.conf
Para depuração, adicione estas variáveis:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Em seguida, reinicie o Looker com ./looker restart.
Autenticação com Kerberos
Autenticação do usuário
Se
krb5.confnão estiver em/etc/, use a variável de ambienteKRB5_CONFIGpara indicar sua localização.Execute o comando
klistpara garantir que haja um ticket válido no cache de tickets Kerberos.Se não houver nenhum ingresso, execute
kinit username@REALMoukinit usernamepara criar o ingresso.A conta usada com o Looker provavelmente será "headless" (sem interface gráfica), então você pode obter um arquivo keytab do Kerberos para armazenar as credenciais para uso a longo prazo. Use um comando como
kinit -k -t looker_user.keytab username@REALMpara obter o ticket Kerberos.
Renovação automática do bilhete
Configure uma cron job para ser executada periodicamente e manter um ticket ativo no cache de tickets Kerberos. A frequência com que isso deve ser executado depende da configuração do cluster. klist deve indicar a antecedência com que os ingressos expiram.
Criar a conexão do Looker com seu banco de dados
Siga estes passos para criar a conexão do Looker com seu banco de dados:
- Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
No menu suspenso Dialect, selecione sua versão do Microsoft SQL Server.
Para Remote Host e Port, insira o nome do host e a porta (a porta padrão é 1433).
Se você precisar especificar uma porta não padrão diferente de 1433 e seu banco de dados exigir o uso de vírgula em vez de dois pontos, você pode adicionar
useCommaHostPortSeparator=trueno campo Parâmetros JDBC adicionais mais abaixo nas configurações de conexão, o que permitirá que você use uma vírgula para Host remoto:Porta. Exemplo:jdbc:sqlserver://hostname,1434Preencha o restante dos detalhes de conexão. A maioria das configurações é comum para a maioria dos dialetos de banco de dados. Consulte a página de documentação Conectar o Looker ao seu banco de dados para mais informações.
Para verificar se a conexão foi estabelecida, clique no botão Testar conexão na seção Detalhes do status, na parte de baixo da página Configurações de conexão.
Se o Looker mostrar Pode se conectar, pressione Conectar para criar a conexão.
Sua conexão de banco de dados é adicionada à lista na página Conexões Administrador do Looker.
Configurando a conexão do Looker
Siga as instruções na página de documentação Conectando o Looker ao seu banco de dados para criar uma conexão com seu banco de dados MSSQL. Na seção Parâmetros JDBC adicionais da página Configurações de conexão, adicione o seguinte:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Algumas redes são configuradas para dois domínios Kerberos, um para o Active Directory do Windows e outro para Linux e outros sistemas não Windows. Nesse caso, quando o Realm focado em Linux e o Realm do Active Directory são configurados para confiar um no outro, isso é chamado de "autenticação entre domínios".
Se a sua rede utiliza autenticação entre domínios, você deve especificar explicitamente a entidade Kerberos para o MSSQL Server. No campo Parâmetros JDBC adicionais, adicione o seguinte:
;serverSpn=service_name/FQDN\:PORT@REALM
Substitua FQDN e PORT@REALM pelas suas informações de rede. Exemplo:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Além disso, a página Configurações de conexão no Looker requer entradas nos campos Nome de usuário e Senha, mas estes não são necessários para o Kerberos. Insira valores fictícios nesses campos.
Teste a conexão para garantir que esteja configurada corretamente.
Parâmetros JDBC compatíveis
Para o Microsoft SQL Server, o Looker suporta os seguintes parâmetros JDBC no campo Parâmetros JDBC adicionais para a conexão. Consulte a documentação do seu banco de dados para mais informações sobre esses parâmetros.
accessTokenApplicationIntentapplicationNameauthenticationauthenticationSchemecancelQueryTimeoutcolumnEncryptionSettingdatabasedatabaseNamedisableStatementPoolingdomainenablePrepareOnFirstPreparedStatementCallEncryptfailoverPartnerfipsgsscredentialhostNameInCertificateinstanceNameIntegrated SecurityintegratedSecurityjaasConfigurationNamekeyStoreAuthenticationlastUpdateCountlocktimeoutloginTimeoutmsiClientIdmultiSubnetFailoverpacketSizepasswordportNumberqueryTimeoutrealmresponseBufferingselectMethodsendStringParametersAsUnicodesendTimeAsDatetimeserverNameserverPreparedStatementDiscardThresholdserverSpntransparentNetworkIPResolutiontrustServerCertificateuseBulkCopyForBatchInsertuseCommaHostPortSeparatoruserworkstationIDxopenStates
Suporte a recursos
Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa ser compatível com eles.
O Microsoft SQL Server 2008 e versões posteriores suportam os seguintes recursos a partir do Looker 26.16:
| Recurso | Compatível? |
|---|---|
| Looker (Google Cloud Core) | |
| Conjuntos simétricos | |
| Tabelas derivadas | |
| Tabelas derivadas persistentes em SQL | |
| Tabelas derivadas nativas persistentes | |
| Visualizações estáveis | |
| Interrupção de consultas | |
| Tabelas dinâmicas baseadas em SQL | |
| Fusos horários | |
| SSL | |
| Subtotais | |
| Parâmetros adicionais da JDBC | |
| Diferenciação entre maiúsculas e minúsculas | |
| Tipo de local | |
| Tipo de lista | |
| Percentil | |
| Percentil distinto | |
| Mostrar processos do SQL Runner | |
| Descrever tabela do SQL Runner | |
| Mostrar índices do SQL Runner | |
| Selecionar 10 no SQL Runner | |
| Contagem do SQL Runner | |
| Explicação do SQL | |
| Credenciais do OAuth 2.0 | |
| Comentários contextuais | |
| Pooling de conexão | |
| Esboços HLL | |
| Reconhecimento agregado | |
| TDPs incrementais | |
| Milissegundos | |
| Microssegundos | |
| Visualizações materializadas | |
| Medidas de comparação de períodos | |
| Contagem aproximada aproximada | |
| Modelos analíticos no banco de dados | |
| Agendas personalizadas |
O Microsoft SQL Server 2016 suporta os seguintes recursos a partir do Looker 26.16:
| Recurso | Compatível? |
|---|---|
| Looker (Google Cloud Core) | |
| Conjuntos simétricos | |
| Tabelas derivadas | |
| Tabelas derivadas persistentes em SQL | |
| Tabelas derivadas nativas persistentes | |
| Visualizações estáveis | |
| Interrupção de consultas | |
| Tabelas dinâmicas baseadas em SQL | |
| Fusos horários | |
| SSL | |
| Subtotais | |
| Parâmetros adicionais da JDBC | |
| Diferenciação entre maiúsculas e minúsculas | |
| Tipo de local | |
| Tipo de lista | |
| Percentil | |
| Percentil distinto | |
| Mostrar processos do SQL Runner | |
| Descrever tabela do SQL Runner | |
| Mostrar índices do SQL Runner | |
| Selecionar 10 no SQL Runner | |
| Contagem do SQL Runner | |
| Explicação do SQL | |
| Credenciais do OAuth 2.0 | |
| Comentários contextuais | |
| Pooling de conexão | |
| Esboços HLL | |
| Reconhecimento agregado | |
| TDPs incrementais | |
| Milissegundos | |
| Microssegundos | |
| Visualizações materializadas | |
| Medidas de comparação de períodos | |
| Contagem aproximada aproximada | |
| Modelos analíticos no banco de dados | |
| Agendas personalizadas |
O Microsoft SQL Server 2017 e versões posteriores oferecem suporte aos seguintes recursos a partir do Looker 26.16:
| Recurso | Compatível? |
|---|---|
| Looker (Google Cloud Core) | |
| Conjuntos simétricos | |
| Tabelas derivadas | |
| Tabelas derivadas persistentes em SQL | |
| Tabelas derivadas nativas persistentes | |
| Visualizações estáveis | |
| Interrupção de consultas | |
| Tabelas dinâmicas baseadas em SQL | |
| Fusos horários | |
| SSL | |
| Subtotais | |
| Parâmetros adicionais da JDBC | |
| Diferenciação entre maiúsculas e minúsculas | |
| Tipo de local | |
| Tipo de lista | |
| Percentil | |
| Percentil distinto | |
| Mostrar processos do SQL Runner | |
| Descrever tabela do SQL Runner | |
| Mostrar índices do SQL Runner | |
| Selecionar 10 no SQL Runner | |
| Contagem do SQL Runner | |
| Explicação do SQL | |
| Credenciais do OAuth 2.0 | |
| Comentários contextuais | |
| Pooling de conexão | |
| Esboços HLL | |
| Reconhecimento agregado | |
| TDPs incrementais | |
| Milissegundos | |
| Microssegundos | |
| Visualizações materializadas | |
| Medidas de comparação de períodos | |
| Contagem aproximada aproximada | |
| Modelos analíticos no banco de dados | |
| Agendas personalizadas |