Connessione di Looker (Google Cloud core) al tuo database

Per eseguire query sui dati, connetti l'istanza di Looker (Google Cloud core) a un database. Questa guida descrive come utilizzare i dialetti supportati e configurare opzioni di connessione specifiche.

Per le istanze che utilizzano connessioni private, potrebbe essere necessario completare una configurazione aggiuntiva per accedere ai database. La configurazione specifica dipende dalla configurazione di rete dell'istanza di Looker (Google Cloud core) con cui stai lavorando.

Configura una connessione al database

Looker (Google Cloud core) deve essere connesso a un database per consentire l'esplorazione dei dati. Consulta l'elenco dei dialetti supportati per scoprire quali dialetti sono supportati da Looker (Google Cloud core).

Puoi creare una connessione al database all'interno di un'istanza di Looker (Google Cloud core) se disponi di una delle seguenti autorizzazioni:

Puoi seguire la guida Configura Looker che viene visualizzata dinamicamente all'interno dell'istanza di Looker (Google Cloud core) per connettere il tuo database oppure puoi seguire i passaggi elencati nelle pagine della documentazione specifiche per il dialetto. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per informazioni sui campi comuni nella finestra di configurazione della connessione di Looker, consulta la pagina della documentazione Connessione di Looker al tuo database.

Se vuoi configurare la connessione di Looker (Google Cloud core) con una delle seguenti opzioni, devi eseguire alcuni passaggi aggiuntivi:

Utilizzo di Credenziali predefinite dell'applicazione per connettersi a un database BigQuery

Le istanze di Looker (Google Cloud core) possono utilizzare le credenziali predefinite dell'applicazione (ADC) per l'autenticazione quando configuri una connessione a un database SQL standard di BigQuery. Quando utilizzi ADC, la connessione si autentica nel database utilizzando le credenziali del service account del progetto Looker (Google Cloud core).

Per utilizzare ADC con un database BigQuery, seleziona Credenziali predefinite dell'applicazione nel campo Autenticazione della pagina Impostazioni di connessione dell'istanza di Looker. Per la procedura completa, consulta la documentazione per la connessione di Looker a un database BigQuery.

Se l'istanza di Looker (Google Cloud core) utilizza tabelle derivate permanenti con un set di dati BigQuery, devi anche concedere all'account di servizio Looker il ruolo IAM (Identity and Access Management) BigQuery Data Editor.

Se ti connetti a un database BigQuery che si trova in un progetto diverso da quello della tua istanza di Looker (Google Cloud core), è necessaria una configurazione aggiuntiva. Consulta la sezione Utilizzo di Credenziali predefinite dell'applicazione con un database BigQuery in un progetto Google Cloud diverso.

Simulazione dell'identità dei service account

Se vuoi eseguire l'autenticazione nel database BigQuery utilizzando un account di servizio diverso da quello del progetto Looker (Google Cloud core), puoi creare un flusso di richieste delegate inserendo un altro account di servizio o una catena di service account separati da virgole nel campo Service account di impersonificazione. Il account di servizio di Looker (Google Cloud core) viene utilizzato automaticamente come primo account di servizio della catena e non deve essere aggiunto al campo. L'ultimo account di servizio della catena (noto anche come service account di cui viene eseguita la simulazione) è quello che si autentica con il database.

Quando utilizzi la simulazione dell'identità dei account di servizio, segui questi passaggi:

  • Abilita l'API Service Consumer Management.

    Abilita l'API

  • Assicurati che tutti i service account della catena, incluso quello del progetto Looker (Google Cloud core), dispongano delle autorizzazioni IAM appropriate.
  • Assicurati che il account di servizio di cui è stata simulata l'identità abbia il ruolo BigQuery Job User e il ruolo BigQuery Data Viewer. Se devi esaminare gli stati e le operazioni dei servizi o utilizzare la quota e la fatturazione di un progetto consumer, è necessario anche il ruolo Service Usage Consumer.
  • Se hai attivato le tabelle derivate permanenti (PDT) per la tua connessione, devi anche inserire l'indirizzo email del account di servizio di cui è stata simulata l'identità nel campo Indirizzo email del service account nella sezione Override PDT. In questo modo, i processi PDT utilizzano il account di servizio di cui è stata simulata l'identità. Per ulteriori informazioni, consulta la sezione Abilita override PDT nella pagina della documentazione Connessione di Looker al tuo database.

Tag di policy e mascheramento dinamico dei dati di BigQuery

Quando Looker (Google Cloud core) si connette a BigQuery utilizzando ADC o un account di servizio, BigQuery non riceve le credenziali utente di Looker individuali. Poiché BigQuery vede una sola identità per tutte le query, la sicurezza a livello di colonna integrata di BigQuery (tag di policy e mascheramento dei dati) non può applicare regole di accesso o mascheramento diverse a ciascun utente di Looker.

Per implementare il mascheramento dinamico dei dati con Looker (Google Cloud core) e BigQuery, prendi in considerazione una delle seguenti opzioni di architettura:

  • Mascheramento a livello di applicazione (supportato per ADC e service account): mantieni una singola connessione al database che utilizza ADC o un account di servizio e applica la logica di mascheramento dei dati all'interno del livello semantico di LookML utilizzando le istruzioni CASE WHEN di LookML basate sugli attributi utente mappati dal tuo provider di identità.
  • Mascheramento a livello di database (richiede OAuth): configura la connessione da Looker a BigQuery per utilizzare OAuth anziché ADC. OAuth trasmette le credenziali individuali di ogni utente finale direttamente a BigQuery, consentendo a BigQuery di valutare e applicare in modo nativo i tag di policy e le regole di mascheramento dei dati per utente.

Utilizzo delle Credenziali predefinite dell'applicazione con un database BigQuery in un progetto Google Cloud diverso

I passaggi per utilizzare ADC per un database SQL standard di BigQuery esterno al progetto che ospita l'istanza di Looker (Google Cloud core) sono gli stessi della configurazione di una connessione all'interno dello stesso progetto. Tuttavia, prima di poter configurare la connessione nell'istanza di Looker (Google Cloud core), il account di servizio del progetto Looker (Google Cloud core) deve disporre dei seguenti ruoli IAM:

Se il account di servizio Looker (Google Cloud core) non dispone già di ruoli IAM nel progetto che contiene il set di dati BigQuery, utilizza l'indirizzo email del account di servizio quando concedi i ruoli in quel progetto. Per trovare l'indirizzo email del account di servizio account, vai alla pagina IAM nella console Google Cloud e seleziona la casella di controllo Includi concessioni di ruoli fornite da Google. L'email avrà il formato service-<project number>@gcp-sa-looker.. Utilizza questo indirizzo email per concedere i ruoli appropriati al service account.

Una volta concessi i ruoli appropriati, segui i passaggi per utilizzare ADC.

Ora puoi utilizzare ADC con questo database SQL standard di BigQuery. Il progetto collegato al account di servizio specificato nella pagina Impostazioni di connessione verrà utilizzato per la fatturazione e fungerà anche da progetto predefinito.

Utilizzo di Credenziali predefinite dell'applicazione per connettersi a un database Cloud SQL

Le istanze di Looker (Google Cloud core) possono utilizzare ADC per autenticare una connessione a un database Cloud SQL (Cloud SQL per PostgreSQL o Cloud SQL per MySQL). Quando utilizzi ADC per autenticarti nel database Cloud SQL, il progetto Google Cloud in cui è in esecuzione il database Cloud SQL è quello a cui vengono addebitate le query di Looker.

Per le connessioni di Looker a Cloud SQL che utilizzano ADC, ADC simula l'identità di un account di servizio o di una catena di service account per accedere al tuo database. Quando crei la connessione di Looker al tuo database, utilizzi il campo Nome utente database IAM per specificare il account di servizio o la catena di service account di cui ADC assumerà l'identità. Il service account Looker creato automaticamente quando hai creato l'istanza di Looker (Google Cloud core) viene utilizzato automaticamente come primo account di servizio della catena e non deve essere aggiunto al campo.

Se vuoi eseguire l'autenticazione nel tuo database Cloud SQL utilizzando un account di servizio diverso da account di servizio Looker, puoi creare un flusso di richieste delegate inserendo un altro service account o una catena di service account separati da virgole nel campo Nome utente/i del database IAM.

L'ultimo account di servizio della catena (noto anche come service account di cui viene impersonata l'identità) è quello che si autentica con il database e deve essere aggiunto come utente nel database Cloud SQL. Se utilizzi il account di servizio Looker come ultimo account di servizio della catena (lasciando vuoto il campo Nomi utente database IAM), devi aggiungere il account di servizio Looker come utente nel database Cloud SQL.

Di seguito sono riportati i passaggi generali per connettere un database Cloud SQL per PostgreSQL o Cloud SQL per MySQL a Looker utilizzando ADC:

  1. Aggiungi il account di servizio di cui è stata eseguita la simulazione al database Cloud SQL.
  2. Configura la simulazione dell'identità dei account di servizio nel tuo database Cloud SQL.
  3. Connettiti al database per eseguire comandi di configurazione aggiuntivi per Cloud SQL per PostgreSQL o Cloud SQL per MySQL.
  4. Crea la connessione di Looker al tuo database.

Aggiungi il account di servizio di impersonificazione al database Cloud SQL

Quando crei la connessione di Looker al tuo database, utilizzi il campo Nome utente del database IAM per specificare il account di servizio o la catena di service account di cui ADC assumerà l'identità per eseguire azioni sul tuo database. L'ultimo account di servizio nella catena di simulazione è considerato il service account di cui viene simulata l'identità.

Per utilizzare ADC con Cloud SQL, devi aggiungere il account di servizio di cui viene simulata l'identità al tuo database Cloud SQL:

  • Nel caso predefinito, se lasci vuoto il campo Nome utente database IAM, ADC assumerà l'identità del account di servizio di Looker. In questo caso, il account di servizio di Looker è quello di cui viene simulata l'identità, quindi devi aggiungerlo al tuo database Cloud SQL. Consulta la pagina della documentazione Crea un'istanza di Looker (Google Cloud core) per informazioni sul account di servizio di Looker e sulla procedura per visualizzare l'indirizzo email del account di servizio di Looker.
  • Se specifichi un account di servizio diverso da account di servizio di Looker o se specifichi una catena di service account nel campo Nome utente database IAM, devi aggiungere l'ultimo account di servizio della catena di impersonificazione al tuo database Cloud SQL.

Per aggiungere un account di servizio al tuo database Cloud SQL, devi disporre del ruolo IAM Amministratore Cloud SQL.

Segui la procedura "Aggiungi un utente o un account di servizio IAM all'istanza di database" per il dialetto del tuo database per aggiungere il account di servizio di cui è stata eseguita la simulazione al tuo database Cloud SQL:

Configura la simulazione dell'identità dei account di servizio nel database Cloud SQL

Dopo aver creato l'utente Cloud SQL nel database, devi configurare il database Cloud SQL per la simulazione dell'identità dei servizi seguendo questi passaggi:

  1. Segui la procedura per abilitare l'API Cloud SQL Admin.
  2. Assicurati che tutti i service account della catena, incluso account di servizio di Looker, dispongano delle autorizzazioni IAM appropriate.
  3. Segui la procedura per concedere un singolo ruolo nella console Google Cloud . Concedi i seguenti ruoli Cloud SQL al account di servizio di cui hai eseguito il furto d'identità che hai aggiunto al tuo database Cloud SQL:

    Se specifichi un account di servizio diverso da account di servizio di Looker o se specifichi una catena di service account nel campo Nome utente database IAM, concedi a ogni account di servizio della catena la seguente autorizzazione:

Comandi di configurazione aggiuntivi per Cloud SQL per MySQL

Per Cloud SQL per MySQL, devi connetterti all'istanza di database ed eseguire il comando seguente sul database Cloud SQL per MySQL:

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

Sostituisci quanto segue:

  • DATABASE_NAME: il nome del database.
  • DATABASE_USER: il nome utente dell'account del account di servizio troncato per il account di servizio di cui hai assunto l'identità e che hai aggiunto al tuo database Cloud SQL. Il account di servizio avrà il formato service-<project number>@gcp-sa-looker.. Tronca il nome utente rimuovendo @ e tutto ciò che segue. Dopo il troncamento, il nome utente sarà simile a service-<project number>.

Ad esempio, se il nome utente del account di servizio è service-12345678901@gcp-sa-looker. e il nome del database è looker-test, il comando sarà il seguente:

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

Comandi di configurazione aggiuntivi per Cloud SQL per PostgreSQL

Per Cloud SQL per PostgreSQL, devi connetterti all'istanza di database ed eseguire alcuni comandi di configurazione sul database Cloud SQL per PostgreSQL:

  • Concedi all'utente le autorizzazioni sul tuo database come descritto nella sezione Utenti e sicurezza della pagina della documentazione di PostgreSQL.
  • Imposta il percorso di ricerca che SQL Runner di Looker deve utilizzare per recuperare i metadati dal database, come descritto nella sezione Impostazione di search_path della pagina PostgreSQL della documentazione di Looker.

Crea la connessione da Looker (Google Cloud core) al tuo database Cloud SQL

Per creare la connessione da Looker al tuo database, segui questi passaggi:

  1. Nella sezione Admin (Amministratore) di Looker, seleziona Connections (Connessioni) e poi fai clic su Add Connection (Aggiungi connessione).
  2. Dal menu a discesa Dialetto, seleziona Google Cloud PostgreSQL o, per Cloud SQL per MySQL, seleziona Google Cloud SQL.
  3. Nella sezione Autenticazione, fai clic sull'opzione Credenziali predefinite dell'applicazione.
  4. Nel campo Nomi utente del database IAM, specifica il account di servizio o la catena di service account di cui vuoi che ADC esegua l'impersonificazione per eseguire azioni sul tuo database:

  5. Compila il resto dei dettagli della connessione. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.

  6. Per verificare che la connessione sia riuscita, fai clic sul pulsante Test Connection (Verifica connessione) nella sezione Status details (Dettagli stato) in fondo alla pagina Connections Settings (Impostazioni connessioni).

  7. Se Looker visualizza Can Connect (Connessione possibile), premi Connect (Connetti) per creare la connessione.

La connessione al tuo database viene quindi aggiunta all'elenco della pagina Connections (Connessioni) di Admin (Amministrazione) di Looker.

Una volta configurata una connessione al database, puoi configurare un progetto LookML.

Configurazione dell'autenticazione OAuth con BigQuery

Per configurare l'autenticazione OAuth per le connessioni a un database BigQuery su un'istanza di Looker (Google Cloud core), segui questi passaggi:

  1. In Authentication (Autenticazione), seleziona OAuth. Looker (Google Cloud core) utilizza per impostazione predefinita le credenziali dell'applicazione OAuth utilizzate dall'amministratore di Looker quando ha creato l'istanza di Looker (Google Cloud core). Non è necessario creare o inserire manualmente un ID client e un secret.
  2. Aggiungi un URI di reindirizzamento aggiuntivo al campo URI di reindirizzamento autorizzati nel client OAuth dell'istanza (o crea un nuovo client OAuth con le credenziali e aggiungi un URI di reindirizzamento). L'URI di reindirizzamento deve utilizzare l'URL dell'istanza di Looker seguito da /external_oauth/redirect. Per informazioni di base, consulta la documentazione sulla generazione delle credenziali OAuth per BigQuery.

Se vuoi inserire manualmente credenziali OAuth diverse per questa connessione, attiva l'opzione Configura manualmente le credenziali OAuth, quindi compila i campi ID client OAuth e Client secret OAuth. Se inserisci manualmente le credenziali OAuth, le credenziali utilizzate durante la creazione dell'istanza di Looker (Google Cloud core) non verranno modificate o aggiornate. Segui i passaggi descritti nella documentazione Configurazione di un progetto di database BigQuery per OAuth per creare e utilizzare credenziali diverse.

Dialetti supportati per Looker (Google Cloud core)

La tabella seguente mostra il supporto di Looker (Google Cloud core) per i dialetti di database:

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

Istruzioni per la configurazione del database

Le istruzioni sono disponibili per i seguenti dialetti SQL:

Passaggi successivi