Google Cloud SQL per PostgreSQL

Criptare il traffico di rete

È una best practice criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilita l'accesso sicuro ai database.

Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di PostgreSQL.

Connettersi utilizzando le Credenziali predefinite dell'applicazione (ADC)

Per le istanze di Looker (Google Cloud core), le Credenziali predefinite dell'applicazione (ADC) sono supportate come metodo di autenticazione per Google Cloud SQL per PostgreSQL. Quando configuri ADC per Google Cloud SQL per PostgreSQL, devi eseguire le seguenti procedure:

Per la procedura completa, consulta la documentazione di Looker (Google Cloud core).

Utenti e sicurezza

Per eseguire azioni sul database, Looker deve avere un account utente nel database.

Se utilizzi un'istanza di Looker (Google Cloud core) e vuoi utilizzare ADC, usa il nome utente del account di servizio rappresentato che hai aggiunto al database Cloud SQL. Il nome utente del account di servizio avrà il formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Se il nome utente del account di servizio termina con .gserviceaccount.com, rimuovi la parte .gserviceaccount.com del nome utente. Dopo il troncamento, il nome utente sarà simile a service-<project number>@gcp-sa-looker.iam.

Per configurare un utente del database da utilizzare per Looker, esegui i seguenti passaggi nel database:

  1. Crea un utente del database e una password.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Concedi le autorizzazioni all'utente del database in modo che Looker possa eseguire azioni sul database:

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. Se utilizzi uno schema diverso da public, esegui questo comando per concedere le autorizzazioni di utilizzo a Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Per assicurarti che le tabelle future che aggiungi allo schema pubblico siano disponibili anche per l'utente Looker, esegui questi comandi:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

A seconda della configurazione, potrebbe essere necessario modificare i comandi precedenti. Se un altro utente o ruolo sta creando tabelle per le quali l'utente Looker avrà bisogno di autorizzazioni future, devi specificare un ruolo o un utente di destinazione a cui applicare le concessioni di autorizzazioni dell'utente Looker:

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

Ad esempio, se un utente web_app crea tabelle e vuoi che l'utente looker possa utilizzare queste tabelle, devi eseguire un'istruzione GRANT per concedere all'utente looker le autorizzazioni sulle tabelle create dall'utente web_app. In questo caso, il ruolo o l'utente di destinazione è l'utente web_app, il che significa che vuoi modificare i privilegi sulle tabelle create da web_app in modo che l'utente looker possa avere le autorizzazioni per leggere le tabelle. Ecco un esempio:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

Per ulteriori informazioni, consulta ALTER DEFAULT PRIVILEGES sul sito web di PostgreSQL.

Configurazione dello schema temporaneo

Crea uno schema temporaneo:

CREATE SCHEMA SCHEMA_NAME;

Concedi all'utente amministratore l'appartenenza al ruolo utente:

GRANT USERNAME TO ADMIN_USER;

Modifica la proprietà dello schema temporaneo in modo che appartenga all'utente Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Impostare search_path

Prima di connettere Looker al database, devi impostare un search_path appropriato, che SQL Runner di Looker può utilizzare per recuperare determinati metadati dal database:

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

Creare la connessione Looker al database

Segui questi passaggi per creare la connessione da Looker al database:

  1. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.
  2. Dal menu a discesa Dialetto, seleziona Google Cloud PostgreSQL.
  3. Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connettere Looker al database.
  4. Per verificare che la connessione sia riuscita, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.
  5. Per salvare queste impostazioni, fai clic su Connetti.

Funzionalità supportate

Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.

A partire da Looker 25.18, Google Cloud PostgreSQL supporta le seguenti funzionalità:

Funzionalità Supportata?
Livello di assistenza
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate permanenti native
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
Maiuscole/minuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
SQL Runner Mostra processi
SQL Runner Descrivi tabella
SQL Runner Mostra indici
SQL Runner Seleziona 10
SQL Runner Count
Spiega SQL
Credenziali OAuth 2.0
Commenti di contesto
Pool di connessioni
Schizzi HLL
Riconoscimento degli aggregati
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
Misure in base al periodo
Conteggio approssimato valori distinti