Como conectar o Looker (núcleo do Google Cloud) ao seu banco de dados

Depois que a instância do Looker (Google Cloud Core) for provisionada, ela vai aparecer na página Instâncias do projeto Google Cloud . Clique no URL da instância para acessar e fazer autenticação nela.

Depois de fazer login na sua instância do Looker (Google Cloud Core), é possível configurar uma conexão de banco de dados com ela.

Configurar uma conexão de banco de dados

O Looker (Google Cloud Core) precisa estar conectado a um banco de dados para permitir a análise de dados. Consulte a lista de dialetos compatíveis para saber quais são aceitos pelo Looker (Google Cloud Core).

É possível criar uma conexão de banco de dados em uma instância do Looker (Google Cloud Core) se você tiver uma das seguintes permissões:

Siga o guia Configurar o Looker, que aparece dinamicamente na instância do Looker (Google Cloud Core) para conectar seu banco de dados, ou siga as etapas listadas nas páginas de documentação específicas do dialeto. 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 informações sobre campos comuns na janela de configuração da conexão do Looker.

Há outras etapas se você quiser configurar a conexão do Looker (Google Cloud Core) com qualquer uma das seguintes opções:

Usar as credenciais padrão do aplicativo para se conectar a um banco de dados do BigQuery

As instâncias do Looker (Google Cloud Core) podem usar as credenciais padrão de aplicativo (ADC) para autenticar ao configurar uma conexão com um banco de dados SQL padrão do BigQuery. Ao usar o ADC, a conexão será autenticada no banco de dados usando as credenciais da conta de serviço do projeto do Looker (Google Cloud Core).

Para usar o ADC com um banco de dados do BigQuery, selecione Application Default Credentials no campo Autenticação da página Configurações de conexão da instância do Looker. Para conferir o procedimento completo, consulte a documentação sobre como conectar o Looker a um banco de dados do BigQuery.

Se a instância do Looker (Google Cloud Core) usar tabelas derivadas permanentes com um conjunto de dados do BigQuery, conceda à conta de serviço do Looker o papel Identity and Access Management (IAM) de editor de dados do BigQuery.

Se você estiver se conectando a um banco de dados do BigQuery em um projeto diferente da sua instância do Looker (Google Cloud Core), será necessário fazer uma configuração extra. Consulte a seção Como usar as credenciais padrão do aplicativo com um banco de dados do BigQuery em um projeto Google Cloud diferente.

Identidade temporária de conta de serviço

Se você quiser se autenticar no banco de dados do BigQuery usando uma conta de serviço diferente da conta de serviço do projeto do Looker (Google Cloud Core), crie um fluxo de solicitação delegada inserindo outra conta de serviço ou uma cadeia de contas de serviço separadas por vírgulas no campo Conta de serviço representada. A conta de serviço do Looker (Google Cloud Core) é usada automaticamente como a primeira conta de serviço na cadeia e não precisa ser adicionada ao campo. A última conta de serviço da cadeia (também conhecida como conta de serviço representada) é a que faz a autenticação com o banco de dados.

Ao usar a representação da conta de serviço, faça o seguinte:

Usar as credenciais padrão do aplicativo com um banco de dados do BigQuery em um projeto Google Cloud diferente

As etapas para usar o ADC em um banco de dados SQL padrão do BigQuery fora do projeto que hospeda sua instância do Looker (Google Cloud Core) são as mesmas para configurar uma conexão dentro do mesmo projeto. No entanto, antes de configurar a conexão na instância do Looker (Google Cloud Core), a conta de serviço do projeto do Looker (Google Cloud Core) precisa ter os seguintes papéis do IAM:

Se a conta de serviço do Looker (Google Cloud Core) ainda não tiver papéis do IAM no projeto que contém o conjunto de dados do BigQuery, use o endereço de e-mail da conta de serviço ao conceder papéis nesse projeto. Para encontrar o endereço de e-mail da conta de serviço, acesse a página IAM no console do Google Cloud e marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google. O e-mail terá o formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Use esse e-mail para conceder os papéis adequados à conta de serviço.

Depois que as funções adequadas forem concedidas, siga as etapas para usar o ADC.

Agora você pode usar o ADC com esse banco de dados SQL padrão do BigQuery. O projeto anexado à conta de serviço especificada na página Configurações de conexão será usado para faturamento e também atuará como o projeto padrão.

Usar o Application Default Credentials para se conectar a um banco de dados do Cloud SQL

As instâncias do Looker (Google Cloud Core) podem usar o ADC para autenticar uma conexão com um banco de dados do Cloud SQL (Cloud SQL para PostgreSQL ou Cloud SQL para MySQL). Quando você usa o ADC para autenticar no banco de dados do Cloud SQL, o projeto Google Cloud em que o banco de dados do Cloud SQL está sendo executado é o projeto faturado pelas consultas do Looker.

Para conexões do Looker com o Cloud SQL que usam o ADC, o ADC assume a identidade de uma conta de serviço ou de uma cadeia de contas de serviço para acessar seu banco de dados. Ao criar a conexão do Looker com seu banco de dados, use o campo Nomes de usuário do banco de dados do IAM para especificar a conta de serviço ou a cadeia de contas de serviço que o ADC vai representar. A conta de serviço do Looker criada automaticamente quando você criou a instância do Looker (Google Cloud Core) é usada automaticamente como a primeira conta de serviço na cadeia e não precisa ser adicionada ao campo.

Se você quiser se autenticar no banco de dados do Cloud SQL usando uma conta de serviço diferente da conta de serviço do Looker, crie um fluxo de solicitação delegada inserindo outra conta de serviço ou uma cadeia de contas de serviço separadas por vírgulas no campo Nomes de usuário do banco de dados do IAM.

A última conta de serviço na cadeia (também conhecida como conta de serviço representada) é a que faz a autenticação no banco de dados, e ela precisa ser adicionada como um usuário no banco de dados do Cloud SQL. Se você estiver usando a conta de serviço do Looker como a última conta de serviço na cadeia (deixando o campo Nomes de usuário do banco de dados do IAM em branco), adicione a conta de serviço do Looker como um usuário no banco de dados do Cloud SQL.

Estas são as etapas gerais para conectar um banco de dados do Cloud SQL para PostgreSQL ou do Cloud SQL para MySQL ao Looker usando a ADC:

  1. Adicione a conta de serviço representada ao banco de dados do Cloud SQL.
  2. Configure a representação da conta de serviço no banco de dados do Cloud SQL.
  3. Conecte-se ao banco de dados para executar outros comandos de configuração do Cloud SQL para PostgreSQL ou do Cloud SQL para MySQL.
  4. Crie a conexão do Looker com seu banco de dados.

Adicione a conta de serviço representada ao seu banco de dados do Cloud SQL

Ao criar a conexão do Looker com seu banco de dados, use o campo Nomes de usuário do banco de dados do IAM para especificar a conta de serviço ou a cadeia de contas de serviço que o ADC vai representar para realizar ações no banco de dados. A última conta de serviço na cadeia de representação é considerada a conta de serviço representada.

Para usar o ADC com o Cloud SQL, adicione a conta de serviço com representação ao banco de dados do Cloud SQL:

  • No caso padrão, se você deixar o campo Nomes de usuário do banco de dados do IAM em branco, o ADC vai personificar a conta de serviço do Looker. Nesse caso, a conta de serviço do Looker é a conta representada. Portanto, é necessário adicioná-la ao banco de dados do Cloud SQL. Consulte a página de documentação Criar uma instância do Looker (Google Cloud Core) para informações sobre a conta de serviço do Looker e o procedimento para conferir o endereço de e-mail dela.
  • Se você especificar uma conta de serviço diferente da conta do Looker ou uma cadeia de contas de serviço no campo Nomes de usuário do banco de dados do IAM, adicione a última conta de serviço na cadeia de representação ao seu banco de dados do Cloud SQL.

Para adicionar uma conta de serviço ao seu banco de dados do Cloud SQL, você precisa ter o papel do IAM Administrador do Cloud SQL.

Siga o procedimento "Adicionar um usuário do IAM ou uma conta de serviço à instância de banco de dados" para seu dialeto de banco de dados e adicione a conta de serviço representada ao banco de dados do Cloud SQL:

Configurar a representação de conta de serviço no banco de dados do Cloud SQL

Depois de criar o usuário do Cloud SQL no banco de dados, configure o banco de dados do Cloud SQL para a representação de serviço seguindo estas etapas:

  1. Siga o procedimento para ativar a API Cloud SQL Admin.
  2. Verifique se todas as contas de serviço na cadeia, incluindo a conta de serviço do Looker, têm as permissões adequadas do IAM.
  3. Siga o procedimento para conceder um único papel no console do Google Cloud . Conceda os seguintes papéis do Cloud SQL à conta de serviço representada que você adicionou ao banco de dados do Cloud SQL:

    Se você especificar uma conta de serviço diferente da conta do Looker ou uma cadeia de contas de serviço no campo Nomes de usuário do banco de dados do IAM, conceda a cada conta de serviço na cadeia a seguinte permissão:

Outros comandos de configuração do Cloud SQL para MySQL

No Cloud SQL para MySQL, conecte-se à instância de banco de dados e execute o seguinte comando no banco de dados do Cloud SQL para MySQL:

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

Substitua:

  • DATABASE_NAME: o nome do banco de dados.
  • DATABASE_USER: o nome de usuário truncado da conta de serviço representada que você adicionou ao banco de dados do Cloud SQL. A conta de serviço terá o formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Remova o @ e tudo o que vem depois. Depois do truncamento, o nome de usuário ficaria assim: service-<project number>.

Por exemplo, se o nome de usuário da conta de serviço for service-12345678901@gcp-sa-looker.iam.gserviceaccount.com e o nome do banco de dados for looker-test, o comando será:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

Outros comandos de configuração do Cloud SQL para PostgreSQL

Para o Cloud SQL para PostgreSQL, é necessário se conectar à instância de banco de dados e executar alguns comandos de configuração no banco de dados do Cloud SQL para PostgreSQL:

  • Conceda ao usuário permissões no banco de dados, conforme descrito na seção Usuários e segurança da página de documentação do PostgreSQL.
  • Defina o caminho de pesquisa que o SQL Runner do Looker vai usar para recuperar metadados do seu banco de dados, conforme descrito na seção Definir search_path da página do PostgreSQL na documentação do Looker.

Criar a conexão do Looker (Google Cloud Core) com seu banco de dados do Cloud SQL

Para criar a conexão do Looker com seu banco de dados, siga estas etapas:

  1. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
  2. No menu suspenso Dialeto, selecione Google Cloud PostgreSQL ou, para o Cloud SQL para MySQL, selecione Google Cloud SQL.
  3. Na seção Autenticação, clique na opção Credenciais padrão do aplicativo.
  4. No campo Nomes de usuário do banco de dados do IAM, especifique a conta de serviço ou a cadeia de contas de serviço que você quer que o ADC represente para realizar ações no banco de dados:

  5. 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 Conectar o Looker ao seu banco de dados para mais informações.

  6. Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conectividade do banco de dados para informações sobre solução de problemas.

  7. Para salvar essas configurações, clique em Conectar.

Depois de configurar uma conexão de banco de dados, você poderá configurar um projeto do LookML.

Como configurar a autenticação OAuth com o BigQuery

Para configurar a autenticação OAuth para conexões com um banco de dados do BigQuery em uma instância do Looker (Google Cloud Core), siga estas etapas:

  1. Em Autenticação, selecione OAuth. Por padrão, o Looker (Google Cloud Core) usa as credenciais do aplicativo OAuth que o administrador do Looker usou ao criar a instância do Looker (Google Cloud Core). Não é necessário criar ou inserir manualmente um ID e um segredo do cliente.
  2. Adicione outro URI de redirecionamento ao campo URIs de redirecionamento autorizados no cliente OAuth da instância ou crie um novo cliente OAuth com as credenciais e adicione um URI de redirecionamento. O URI de redirecionamento precisa usar o URL da instância do Looker seguido por /external_oauth/redirect. Para informações básicas, consulte a documentação sobre como gerar credenciais do OAuth para o BigQuery.

Se você quiser inserir manualmente outras credenciais de OAuth para essa conexão, ative a opção Configurar manualmente as credenciais de OAuth e preencha os campos ID do cliente OAuth e Chave secreta do cliente OAuth. Se você inserir manualmente as credenciais do OAuth, isso não vai mudar nem atualizar as credenciais usadas quando a instância do Looker (Google Cloud Core) foi criada. Siga as etapas na documentação Configurar um projeto de banco de dados do BigQuery para OAuth para criar e usar credenciais diferentes.

Dialetos compatíveis com o Looker (Google Cloud Core)

A tabela a seguir mostra o suporte do Looker (Google Cloud Core) para dialetos de banco de dados:

Dialeto Compatível?
Actian Avalanche
Não
Amazon Athena
Sim
Amazon Aurora MySQL
Sim
Amazon Redshift
Sim
Amazon Redshift 2.1+
Sim
Amazon Redshift Serverless 2.1+
Sim
Apache Druid
Não
Apache Druid 0.13+
Não
Apache Druid 0.18+
Sim
Apache Hive 2.3+
Não
Apache Hive 3.1.2+
Sim
Apache Spark 3+
Sim
ClickHouse
Sim
Cloudera Impala 3.1+
Sim
Cloudera Impala 3.1+ with Native Driver
Não
Cloudera Impala with Native Driver
Não
DataVirtuality
Não
Databricks
Sim
Denodo 7
Não
Denodo 8 & 9
Sim
Dremio
Não
Dremio 11+
Sim
Exasol
Não
Google BigQuery Legacy SQL
Sim
Google BigQuery Standard SQL
Sim
Google Cloud PostgreSQL
Sim
Google Cloud SQL
Sim
Google Spanner
Sim
Greenplum
Não
HyperSQL
Não
IBM Netezza
Sim
MariaDB
Sim
Microsoft Azure PostgreSQL
Sim
Microsoft Azure SQL Database
Sim
Microsoft Azure Synapse Analytics
Sim
Microsoft SQL Server 2008+
Não
Microsoft SQL Server 2012+
Não
Microsoft SQL Server 2016
Não
Microsoft SQL Server 2017+
Sim
MongoBI
Não
MySQL
Não
MySQL 8.0.12+
Sim
Oracle
Sim
Oracle ADWC
Não
PostgreSQL 9.5+
Sim
PostgreSQL pre-9.5
Não
PrestoDB
Sim
PrestoSQL
Sim
SAP HANA
Não
SAP HANA 2+
Sim
SingleStore
Não
SingleStore 7+
Sim
Snowflake
Sim
Teradata
Sim
Trino
Sim
Vector
Não
Vertica
Sim

Instruções de configuração do banco de dados

As instruções estão disponíveis para estes dialetos SQL:

A seguir