Como criptografar o tráfego de rede
É recomendável 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 Ativar o acesso seguro ao banco de dados.
Se você quiser usar a criptografia SSL, consulte a documentação da Microsoft.
Como configurar a autenticação do servidor
O Looker exige a "Autenticação do SQL Server" no seu servidor MSSQL. Se o servidor MSSQL estiver configurado apenas como "Autenticação integrada do Windows", mude a configuração do servidor para "Autenticação integrada do Windows e do SQL Server".
Se a configuração do servidor não estiver correta, o Looker não vai conseguir se conectar. Isso vai aparecer nas mensagens de registro do SQL Server como: "Uma tentativa de fazer login usando a autenticação SQL falhou. O servidor está configurado apenas para autenticação do Windows."
Se essa mudança for necessária, siga estas etapas:
- No SQL Server Management Studio Object Explorer, clique com o botão direito do mouse no servidor e clique em Properties.
- Na página Segurança, em Autenticação do servidor, selecione o novo modo de autenticação do servidor e clique em OK.
- Na caixa de diálogo SQL Server Management Studio, clique em OK para confirmar o requisito de reiniciar o SQL Server.
- No Pesquisador de Objetos, clique com o botão direito do mouse no servidor e selecione Reiniciar. Se o agente do SQL Server estiver em execução, ele também precisará ser reiniciado.
Leia mais sobre isso na documentação da Microsoft.
Criar um usuário do Looker
O Looker faz a autenticação no seu banco de dados usando a autenticação do SQL Server. Não é possível usar uma conta de domínio.
Para criar uma conta, execute os comandos a seguir. Mude some_password_here
para uma senha exclusiva e segura:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Conceder ao usuário do Looker permissão para selecionar tabelas
O Looker exige a permissão SELECT
para cada tabela ou esquema que você quer consultar. Há várias maneiras de atribuir a permissão SELECT
:
Para conceder a permissão
SELECT
a esquemas individuais, execute o seguinte comando para cada esquema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Para conceder a permissão
SELECT
a tabelas individuais, execute o seguinte comando para cada tabela:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;
No MSSQL versão 2012 ou mais recente, você também pode atribuir ao usuário do Looker o papel
db_datareader
usando estes comandos:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Como conceder ao usuário do Looker permissão para visualizar e interromper consultas em execução
O Looker precisa estar autorizado a detectar e interromper consultas em execução, o que exige as seguintes permissões:
ALTER ANY CONNECTION
VIEW 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
Como conceder ao usuário do Looker permissão para criar tabelas
Para conceder ao usuário do Looker a permissão de 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 seja de propriedade do usuário do Looker e conceder os direitos necessários a ele, execute este comando:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Como configurar a autenticação do Kerberos
Se você usa a autenticação Kerberos com seu banco de dados MSSQL, siga as etapas para configurar o Looker para se conectar usando o Kerberos, conforme descrito na seção a seguir.
Como configurar o cliente do Kerberos
Primeiro, você precisa garantir a instalação de vários softwares e a presença de vários arquivos na máquina do Looker.
Cliente do Kerberos
Execute kinit
para verificar se o cliente Kerberos está instalado na máquina do Looker. Se o cliente Kerberos não estiver instalado, instale os binários dele.
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 precisa estar instalado na máquina do Looker e no PATH
e JAVA_HOME
do usuário do Looker. Se necessário, instale-o localmente no diretório looker
.
Extensão de criptografia do Java
Faça o download e instale a extensão de criptografia Java (JCE) para Java 8 nesta página de download da Oracle.
- Localize o diretório
jre/lib/security
da instalação do Java. - Remova os seguintes arquivos JAR deste diretório:
local_policy.jar
eUS_export_policy.jar
. - Substitua esses dois arquivos pelos arquivos JAR incluídos no download de arquivos de política de jurisdição de força ilimitada do JCE.
Talvez seja possível usar versões anteriores do Java com o JCE instalado, mas isso não é recomendado.
- Localize o diretório
Atualize
JAVA_HOME
ePATH
em~looker/.bash_profile
para apontar para a instalação correta do Java e dosource ~/.bash_profile
ou saia e faça login novamente.Verifique a versão do Java com
java -version
.Verifique a variável de ambiente
JAVA_HOME
comecho $JAVA_HOME
.
gss-jaas.conf
Crie um arquivo gss-jaas.conf
no diretório looker
com este 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 esse arquivo desta 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 precisa ter um arquivo krb5.conf
válido. Por padrão, esse arquivo está em /etc/krb5.conf
. Se estiver em outro local, ele precisa ser indicado no ambiente (KRB5_CONFIG
no ambiente shell).
Talvez seja necessário copiar isso de outra máquina cliente do 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 looker
) chamado lookerstart.cfg
que contém 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
.
Como autenticar com o Kerberos
Autenticação do usuário
Se
krb5.conf
não estiver em/etc/
, use a variável de ambienteKRB5_CONFIG
para indicar o local.Execute o comando
klist
para garantir que haja um tíquete válido no cache de tíquetes do Kerberos.Se não houver um tíquete, execute
kinit username@REALM
oukinit username
para criar um.A conta usada com o Looker provavelmente será sem cabeça, para que você possa receber um arquivo keytab do Kerberos e armazenar a credencial para uso a longo prazo. Use um comando como
kinit -k -t looker_user.keytab username@REALM
para receber o tíquete do Kerberos.
Renovar o tíquete automaticamente
Configure um cron job que seja executado periodicamente para manter um tíquete ativo no cache de tíquetes do Kerberos. A frequência de execução depende da configuração do cluster. O klist
deve indicar o prazo de validade dos ingressos.
Criar a conexão do Looker com seu banco de dados
Siga estas etapas 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.
Em Host remoto e Porta, 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 uma vírgula em vez de dois-pontos, adicione
useCommaHostPortSeparator=true
no campo Parâmetros JDBC adicionais mais abaixo nas configurações de conexão. Isso permitirá que você use uma vírgula para Host remoto:Porta. Exemplo:jdbc:sqlserver://hostname,1434
Preencha o restante dos detalhes da conexão. A maioria das configurações é comum para a maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações.
Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Teste de conectividade do banco de dados para informações sobre solução de problemas.
Para salvar essas configurações, clique em Conectar.
Como configurar a conexão do Looker
Siga as instruções na página de documentação Como conectar o Looker ao banco de dados para criar uma conexão com o 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 Windows Active Directory e outro para Linux e outros sistemas não Windows. Nesse caso, quando o Realm focado no 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 rede usar autenticação entre domínios, especifique explicitamente o principal do 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 informações da 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 exige entradas nos campos Nome de usuário e Senha, mas eles não são necessários para o Kerberos. Insira valores fictícios nesses campos.
Teste a conexão para garantir que ela esteja configurada corretamente.
Suporte a recursos
Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa oferecer suporte a eles.
O Microsoft SQL Server 2008 e versões mais recentes oferece suporte aos seguintes recursos a partir do Looker 24.20:
Recurso | Compatível? |
---|---|
Nível de suporte | Integração |
Looker (Google Cloud Core) | Não |
Agregações simétricas | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Consulta de interrupção | Sim |
Pivots baseados em SQL | Sim |
Fusos horários | Não |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais do JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Não |
Percentil | Não |
Percentil distinto | Não |
SQL Runner Show Processes | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices de exibição do SQL Runner | Sim |
SQL Runner Select 10 | Sim |
Contagem do SQL Runner | Sim |
SQL Explain | Não |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pooling de conexão | Não |
Esboços HLL | Não |
Conscientização agregada | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada de valores distintos | Não |
O Microsoft SQL Server 2016 oferece suporte aos seguintes recursos a partir do Looker 24.20:
Recurso | Compatível? |
---|---|
Nível de suporte | Compatível |
Looker (Google Cloud Core) | Não |
Agregações simétricas | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Consulta de interrupção | Sim |
Pivots baseados em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais do JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Não |
Percentil | Não |
Percentil distinto | Não |
SQL Runner Show Processes | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices de exibição do SQL Runner | Sim |
SQL Runner Select 10 | Sim |
Contagem do SQL Runner | Sim |
SQL Explain | Não |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pooling de conexão | Não |
Esboços HLL | Não |
Conscientização agregada | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada de valores distintos | Não |
O Microsoft SQL Server 2017 e versões mais recentes oferece suporte aos seguintes recursos a partir do Looker 24.20:
Recurso | Compatível? |
---|---|
Nível de suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregações simétricas | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Consulta de interrupção | Sim |
Pivots baseados em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais do JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Não |
Percentil | Não |
Percentil distinto | Não |
SQL Runner Show Processes | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices de exibição do SQL Runner | Sim |
SQL Runner Select 10 | Sim |
Contagem do SQL Runner | Sim |
SQL Explain | Não |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pooling de conexão | Não |
Esboços HLL | Não |
Conscientização agregada | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada de valores distintos | Não |