Estas páginas abordam a forma de associar o Looker ao PrestoDB ou ao Trino.
Encriptar o tráfego de rede
É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.
Criar a ligação do Looker à sua base de dados
Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.
Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações. Algumas das definições são descritas a seguir:
Dialeto: selecione PrestoDB ou Trino.
O PrestoSQL mudou de marca e passou a chamar-se Trino. Se estiver a usar uma versão do Trino anterior à 352, selecione PrestoSQL no menu de dialetos do Looker.
Anfitrião: o nome do anfitrião da base de dados.
Porta: a porta da base de dados. A porta predefinida é 8080.
Base de dados: o "catálogo" ou o "conetor", em termos do Presto.
Nome de utilizador: o nome de utilizador do utilizador que vai executar consultas.
Estas informações só são enviadas para o servidor da base de dados se o SSL estiver ativado.
Palavra-passe: palavra-passe do utilizador que vai executar consultas.
Estas informações só são enviadas para o servidor da base de dados se o SSL estiver ativado.
Esquema: o esquema predefinido a usar quando não é especificado nenhum esquema.
Autenticação: selecione Conta da base de dados ou OAuth:
- Use Conta da base de dados para especificar o Nome de utilizador e a Palavra-passe da conta de utilizador da base de dados que vai ser usada para estabelecer ligação ao Looker.
- Use o OAuth se quiser configurar o OAuth para a ligação.
Ativar PDTs: use este botão para ativar as tabelas derivadas persistentes (PDTs). Esta ação revela campos PDT adicionais e a secção Substituições de PDT para a associação.
Base de dados temporária: o esquema para escrever PDTs. (A versão 3.50 adicionou suporte PDT ao Presto. Consulte a secção Configurar o PrestoDB ou o Trino para PDTs nesta página para mais informações sobre como configurar o Presto para suporte de PDTs.)
Parâmetros JDBC adicionais: quaisquer parâmetros adicionais do controlador JDBC do PrestoDB, do controlador JDBC do Trino ou do controlador JDBC do Starburst.
SSL: selecione esta opção para ativar as ligações SSL.
Verify SSL: ignore este campo. Todas as ligações SSL usam o Java Truststore predefinido, a menos que seja indicado o contrário com os parâmetros JDBC do PrestoDB, o controlador JDBC do Trino ou o controlador JDBC do Starburst. Introduza estes parâmetros no campo Parâmetros JDBC adicionais.
Para verificar se a associação foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas.
Para guardar estas definições, clique em Associar.
Para mais informações sobre as definições de ligação, consulte a página de documentação Ligar o Looker à sua base de dados.
Configurar o PrestoDB ou o Trino para PDTs
As PDTs não são suportadas para associações que usam o OAuth.
O suporte de PDT depende do conetor que está a usar com o PrestoDB ou o Trino . Esta secção explica as definições de configuração necessárias para uma base de dados temporária. Este exemplo parte do princípio de que o conetor que está a usar é o hive
.
O ficheiro de propriedades do catálogo do Hive deve conter algumas propriedades de configuração, que são descritas nesta secção.
O seguinte é necessário porque o Presto armazena em cache os resultados da metastore do Hive e o Looker tem de poder ver as tabelas imediatamente:
hive.metastore-cache-ttl = 0s
Estas duas propriedades são obrigatórias porque o Looker tem de poder eliminar e mudar o nome das PDTs:
hive.allow-rename-table=true
hive.allow-drop-table=true
Para referência, nos nossos servidores de testes internos do Presto, usamos o seguinte ficheiro hive.properties
, que é usado para todos os esquemas do Hive:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Configurar o OAuth para ligações do Trino
O Looker suporta o OAuth para ligações ao Trino, o que significa que cada utilizador do Looker se autentica na base de dados e autoriza o Looker a executar consultas na base de dados com a sua própria conta de utilizador do OAuth.
O OAuth permite que os administradores da base de dados realizem as seguintes tarefas:
- Audite que utilizadores do Looker estão a executar consultas na base de dados
- Aplique controlos de acesso baseados em funções através de autorizações ao nível da base de dados
- Use tokens OAuth para todos os processos e ações que acedem à base de dados, em vez de incorporar IDs e palavras-passe da base de dados em vários locais
- Revogue a autorização de um determinado utilizador diretamente através da base de dados
Com as ligações do Trino que usam o OAuth, os utilizadores têm de iniciar sessão novamente periodicamente quando os respetivos tokens OAuth expiram.
Tenha em atenção o seguinte para as ligações OAuth ao nível da base de dados:
- Se um utilizador deixar o respetivo token OAuth expirar, todos os agendamentos ou alertas que detém são afetados. Para se proteger contra esta situação, o Looker envia um email de notificação ao proprietário de cada agendamento e de cada alerta antes de o token OAuth ativo atual expirar. O Looker envia estes emails de notificação 14 dias, 7 dias e 1 dia antes de o token expirar. O utilizador pode aceder à respetiva página de utilizador do Looker para voltar a autorizar o Looker na base de dados e evitar interrupções nos respetivos agendamentos e alertas. Consulte a página de documentação Personalizar as definições da conta de utilizador para ver detalhes.
- Uma vez que as ligações à base de dados que usam o OAuth são "por utilizador", as políticas de colocação em cache também são por utilizador e não apenas por consulta. Isto significa que, em vez de usar resultados em cache sempre que a mesma consulta é executada no período de colocação em cache, o Looker usa resultados em cache apenas se o mesmo utilizador tiver executado a mesma consulta no período de colocação em cache. Para mais informações sobre o armazenamento em cache, consulte a página de documentação Consultas de armazenamento em cache.
- As tabelas derivadas persistentes (PDTs) não são suportadas para associações do Trino com OAuth.
- Quando um administrador do Looker usa o comando sudo como outro utilizador, o administrador usa o token de acesso OAuth desse utilizador. Se o token de acesso do utilizador tiver expirado, o administrador não pode criar um novo token em nome do utilizador com privilégios de superutilizador. Consulte a página de documentação Utilizadores para ver informações sobre a utilização do comando
sudo
. - Quando inicia sessão no Azure AD a partir do Looker através do OAuth, o Looker não apresenta uma caixa de diálogo de consentimento do utilizador explícita. Ao configurar o OAuth com o Looker, consente implicitamente que a sua instância do Looker aceda aos seus dados do Trino.
Registar uma aplicação
Para ativar o OAuth para o Trino, comece por registar uma aplicação através de um fornecedor de identidade suportado. O Looker só suporta o Microsoft Entra ID (anteriormente conhecido como Azure AD) para o OAuth com o Trino.
Pré-requisitos
- Tem de ter uma subscrição do Azure.
- Tem de ter autorizações administrativas no Microsoft Entra ID.
Para registar uma aplicação, siga estes passos:
- Aceda ao portal do Azure e inicie sessão com as suas credenciais.
- Na barra de pesquisa do portal do Azure, pesquise "Microsoft Entra ID" e selecione-o nos resultados.
- No serviço Microsoft Entra ID, clique em Novo registo na secção Registos de apps da categoria Gerir.
- Preencha o formulário de registo da seguinte forma:
- Nome: indique um nome descritivo para a aplicação, como
Looker Trino Connection
. - Tipos de contas suportados: selecione a opção adequada com base na forma como quer restringir o acesso. Para um exemplo de utilização interno, pode selecionar Apenas contas neste diretório organizacional.
- URI de redirecionamento: selecione a plataforma Web e, de seguida, introduza o URI de redirecionamento do Looker. Deve ter este aspeto:
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nome: indique um nome descritivo para a aplicação, como
- Clique em Registar.
- Reúna o ID de cliente, o ID do inquilino e o segredo do cliente para introduzir posteriormente na sua ligação do Looker.
- Pode encontrar o ID de cliente e o ID do inquilino na página Vista geral.
- Se não souber qual é o seu segredo do cliente, tem de criar um novo. Clique em Certificados e segredos na secção Gerir e, de seguida, clique em Novo segredo do cliente.
- Clique em Expor uma API na secção Gerir.
- Junto a URI do ID da aplicação, clique em Adicionar.
- Introduza o seu ID de cliente. Deve estar no seguinte formato:
api://CLIENT_ID
.
Em seguida, siga estes passos no portal do Azure para criar um novo âmbito a usar com o Looker:
- Clique em Adicionar um âmbito na secção Âmbitos definidos por esta API.
Adicione um Nome do âmbito para o novo âmbito. O Looker espera que o nome do âmbito seja:
TrinoUsers.Read.All
.O nome
TrinoUsers.Read.All
implica autorizações apenas de leitura, mas o nome em si não define nem aplica autorizações. Certifique-se de que configura o âmbito para permitir apenas o acesso de leitura à sua base de dados.Adicione um Nome a apresentar e uma Descrição.
No seletor Quem pode dar consentimento?, selecione Administradores e utilizadores.
Clique em Adicionar âmbito.
Na secção Aplicações cliente autorizadas, clique em Adicionar uma aplicação cliente.
Introduza o seu ID de cliente e o âmbito recém-criado.
Clique em Add application.
Em seguida, para conceder ao Looker as autorizações de API necessárias, siga estes passos:
- Na secção Gerir, clique em Autorizações da API.
- Clique em Adicionar uma autorização.
- Selecione o separador As minhas APIs na parte superior.
- Na lista de registos de apps, selecione o registo que acabou de criar, como
Looker Trino Connection
. - Selecione a caixa de verificação Autorizações delegadas.
- Selecione a caixa de verificação TrinoUsers.Read.All.
- Selecione Adicionar autorização.
Configurar a base de dados para usar o OAuth
Em seguida, para configurar a sua base de dados Trino para usar o OAuth, adicione as seguintes linhas ao ficheiro config.properties
do Trino. (Substitua as primeiras cinco linhas de variáveis em maiúsculas pelos seus próprios valores.)
YOUR_HTTPS_PORT
PATH_TO_YOUR_SSL_CERTIFICATE
YOUR_TENANT_ID
YOUR_CLIENT_ID
YOUR_SHARED_SECRET
# enable SSL for OAuth
http-server.https.enabled=true
http-server.https.port=YOUR_HTTPS_PORT
http-server.https.keystore.path=PATH_TO_YOUR_SSL_CERTIFICATE
# enable OAuth 2.0
http-server.authentication.type=oauth2
http-server.authentication.oauth2.issuer=https://sts.windows.net/YOUR_TENANT_ID/
http-server.authentication.oauth2.client-id=NA_required_but_not_used
http-server.authentication.oauth2.client-secret=NA_required_but_not_used
# turn off oidc discovery - Trino will inspect tokens locally instead
http-server.authentication.oauth2.oidc.discovery=false
# URLs that Trino requires for OAuth
http-server.authentication.oauth2.jwks-url=https://login.microsoftonline.com/common/discovery/v2.0/keys
http-server.authentication.oauth2.auth-url=NA_required_but_not_used
http-server.authentication.oauth2.token-url=NA_required_but_not_used
# add audience that matches the Azure AD's Application ID URI
http-server.authentication.oauth2.additional-audiences=api://YOUR_CLIENT_ID
# set shared-secret required for internal Trino communication when authentication is enabled, see: https://github.com/trinodb/trino/issues/12397
# can be generated with the following Linux command: openssl rand 512 | base64
internal-communication.shared-secret=YOUR_SHARED_SECRET
# optionally, allow some insecure http traffic
# http-server.authentication.allow-insecure-over-http=true
Iniciar sessão para executar consultas
Assim que a ligação à base de dados estiver configurada para usar o OAuth, os utilizadores são convidados a iniciar sessão no Microsoft Entra ID antes de executar consultas. Isto inclui consultas de Explorar, painéis de controlo, Looks e SQL Runner.
Os utilizadores também podem iniciar sessão no Microsoft Entra ID a partir da secção Credenciais da ligação OAuth na respetiva página Conta.
Para iniciar sessão no Microsoft Entra ID através do Looker:
- Clique no menu de utilizador do Looker.
- Selecione Conta.
- Na página Conta, clique em Iniciar sessão na secção Credenciais da ligação OAuth.
Esta ação apresenta uma caixa de diálogo de início de sessão. Introduza as suas credenciais do Microsoft Entra ID e selecione Iniciar sessão para conceder ao Looker acesso à sua conta da base de dados.
Depois de iniciar sessão no Microsoft Entra ID através do Looker, pode terminar sessão ou voltar a autorizar as suas credenciais em qualquer altura através da página Conta, conforme descrito na página de documentação Personalizar a sua conta de utilizador.
Referência
Para mais informações sobre a configuração do conetor do Hive, consulte PrestoDB Hive Connector, Trino Hive Connector ou Starburst Hive Connector.
Suporte de funcionalidades
Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.
O PrestoDB suporta as seguintes funcionalidades a partir do Looker 25.14:
Funcionalidade | Compatível? |
---|---|
Nível de apoio técnico | Suportado |
Looker (Google Cloud Core) | Sim |
Dados agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas persistentes | Sim |
Vistas estáveis | Sim |
Interrupção de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros JDBC adicionais | Sim |
Sensível a maiúsculas e minúsculas | Sim |
Tipo de localização | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Não |
Execução de SQL Mostrar processos | Sim |
Execução de SQL Describe Table | Sim |
Execução de SQL Mostrar índices | Não |
Execução de SQL Select 10 | Sim |
Contagem da execução de SQL | Sim |
SQL Explain | Sim |
Credenciais do OAuth 2.0 | Não |
Comentários de contexto | Sim |
Agrupamento de ligações | Não |
Esboços HLL | Sim |
Notoriedade agregada | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Não |
Vistas materializadas | Não |
Medidas de comparação de períodos | Não |
Contagem distinta aproximada | Sim |
O Trino suporta as seguintes funcionalidades a partir do Looker 25.14:
Funcionalidade | Compatível? |
---|---|
Nível de apoio técnico | Suportado |
Looker (Google Cloud Core) | Sim |
Dados agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas persistentes | Sim |
Vistas estáveis | Não |
Interrupção de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros JDBC adicionais | Sim |
Sensível a maiúsculas e minúsculas | Sim |
Tipo de localização | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Não |
Execução de SQL Mostrar processos | Sim |
Execução de SQL Describe Table | Sim |
Execução de SQL Mostrar índices | Não |
Execução de SQL Select 10 | Sim |
Contagem da execução de SQL | Sim |
SQL Explain | Sim |
Credenciais do OAuth 2.0 | Sim |
Comentários de contexto | Sim |
Agrupamento de ligações | Não |
Esboços HLL | Sim |
Notoriedade agregada | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Não |
Vistas materializadas | Não |
Medidas de comparação de períodos | Não |
Contagem distinta aproximada | Sim |
Passos seguintes
Depois de associar a sua base de dados ao Looker, configure as opções de início de sessão para os seus utilizadores.