Crittografia del traffico di rete in corso...
Una best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Prendi in considerazione una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.
Se vuoi utilizzare la crittografia SSL, consulta la documentazione Microsoft.
Configurazione dell'autenticazione del server
Looker richiede "Autenticazione SQL Server" sul server MSSQL. Se il server MSSQL è configurato solo come "Autenticazione integrata di Windows", modifica la configurazione del server in "Autenticazione integrata di Windows e autenticazione SQL Server".
Se la configurazione del server non è impostata correttamente, Looker non potrà connettersi. Nei messaggi di log di SQL Server viene visualizzato il seguente messaggio: "Un tentativo di accesso utilizzando l'autenticazione SQL non è riuscito. Il server è configurato solo per l'autenticazione Windows."
Se è necessaria questa modifica, puoi completare questi passaggi:
- In Esploratore oggetti di SQL Server Management Studio, fai clic con il tasto destro del mouse sul server e poi su Proprietà.
- Nella pagina Sicurezza, in Autenticazione server, seleziona la nuova modalità di autenticazione del server e poi fai clic su OK.
- Nella finestra di dialogo SQL Server Management Studio, fai clic su OK per confermare il requisito di riavvio di SQL Server.
- In Esplora oggetti, fai clic con il tasto destro del mouse sul server, quindi fai clic su Riavvia. Se l'agente SQL Server è in esecuzione, deve essere riavviato.
Per saperne di più, consulta la documentazione di Microsoft.
Creazione di un utente Looker
Looker esegue l'autenticazione nel tuo database utilizzando l'autenticazione SQL Server. L'utilizzo di un account di dominio non è supportato.
Per creare un account, esegui i seguenti comandi. Cambia some_password_here
con una password unica e sicura:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Concedere all'utente Looker l'autorizzazione a eseguire SELECT dalle tabelle
Looker richiede l'autorizzazione SELECT
per ogni tabella o schema su cui vuoi eseguire query. Esistono diversi modi per assegnare l'autorizzazione SELECT
:
Per concedere l'autorizzazione
SELECT
a singoli schemi, esegui questo comando per ogni schema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Per concedere l'autorizzazione
SELECT
a singole tabelle, esegui questo comando per ogni tabella:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;
Per MSSQL versione 2012 o successive, in alternativa puoi assegnare all'utente di Looker il ruolo
db_datareader
utilizzando questi comandi:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Concessione all'utente di Looker dell'autorizzazione per visualizzare e interrompere l'esecuzione delle query
Looker deve essere autorizzato a rilevare e interrompere l'esecuzione delle query, il che richiede le seguenti autorizzazioni:
ALTER ANY CONNECTION
VIEW SERVER STATE
Per concedere queste autorizzazioni, esegui i seguenti comandi:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Concessione dell'autorizzazione utente di Looker per creare tabelle
Per concedere all'utente di Looker l'autorizzazione per creare le PDT, esegui questi comandi:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Configurazione dello schema temporaneo
Per creare uno schema di proprietà dell'utente di Looker e concedere all'utente i diritti necessari, esegui questo comando:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Configurazione dell'autenticazione Kerberos
Se utilizzi l'autenticazione Kerberos con il database MSSQL, segui i passaggi per configurare Looker in modo che si connetta tramite Kerberos, come descritto nella sezione seguente.
Configurazione del client Kerberos
In primo luogo, devi garantire l'installazione di diversi software e la presenza di diversi file sul computer Looker.
Client Kerberos
Verifica che il client Kerberos sia installato sul computer Looker eseguendo kinit
. Se il client Kerberos non è installato, installa i file binari del client Kerberos.
Ad esempio, su Redhat o CentOS, il valore sarà il seguente:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 deve essere installato sulla macchina di Looker e nei percorsi PATH
e JAVA_HOME
dell'utente di Looker. Se necessario, installalo localmente nella directory looker
.
Estensione crittografia Java
Scarica e installa la Java Cryptography Extension (JCE) per Java 8 da questa pagina di download di Oracle.
- Individua la directory
jre/lib/security
per l'installazione di Java. - Rimuovi i seguenti file JAR da questa directory:
local_policy.jar
eUS_export_policy.jar
. - Sostituisci questi due file con i file JAR inclusi nel download dei file JCE Unlimited Strength Jurisdiction Policy.
È possibile utilizzare versioni di Java precedenti a Java 8 con JCE installata, ma questa operazione è sconsigliata.
- Individua la directory
Aggiorna
JAVA_HOME
ePATH
in~looker/.bash_profile
in modo che rimandino all'installazione corretta di Java esource ~/.bash_profile
oppure esci ed esegui nuovamente l'accesso.Verifica la versione di Java con
java -version
.Verifica la variabile di ambiente
JAVA_HOME
conecho $JAVA_HOME
.
gss-jaas.conf
Crea un file gss-jaas.conf
nella directory looker
con questo contenuto:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Se necessario per i test, debug=true
può essere aggiunto a questo file nel seguente modo:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Anche il server che esegue Looker deve avere un file krb5.conf
valido. Per impostazione predefinita, questo file è in formato /etc/krb5.conf
. Se si trova in un'altra posizione, deve essere indicato nell'ambiente (KRB5_CONFIG
nell'ambiente shell).
Potrebbe essere necessario copiarlo da un altro computer client Kerberos.
lookerstart.cfg
Posiziona il puntatore del mouse sui file gss-jaas.conf
e krb5.conf
creando un file nella directory looker
(la stessa directory che contiene lo script di avvio looker
) chiamato lookerstart.cfg
contenente le seguenti righe:
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 il file krb5.conf
non si trova in /etc/krb5.conf
, sarà necessario aggiungere anche questa variabile:
-Djava.security.krb5.conf=/path/to/krb5.conf
Per il debug, aggiungi queste variabili:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Quindi riavvia Looker con ./looker restart
.
Autenticazione con Kerberos
Autenticazione degli utenti
Se
krb5.conf
non è in/etc/
, utilizza la variabile di ambienteKRB5_CONFIG
per indicarne la posizione.Esegui il comando
klist
per assicurarti che nella cache dei ticket Kerberos sia presente un ticket valido.Se non esiste alcun ticket, esegui
kinit username@REALM
okinit username
per crearlo.L'account utilizzato con Looker sarà probabilmente headless, quindi puoi ottenere un file keytab da Kerberos per memorizzare la credenziale per l'utilizzo a lungo termine. Utilizza un comando come
kinit -k -t looker_user.keytab username@REALM
per ottenere il ticket Kerberos.
Rinnovo automatico del ticket
Configura un cron job che viene eseguito ogni tanto per mantenere un ticket attivo nella cache dei ticket Kerberos. La frequenza di esecuzione dipende dalla configurazione del cluster. klist
dovrebbe fornire un'indicazione sulla scadenza dei biglietti.
Creazione della connessione Looker al tuo database
Segui questi passaggi per creare la connessione da Looker al tuo database:
- Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.
Dal menu a discesa Dialetto, seleziona la tua versione di Microsoft SQL Server.
In Host remoto e Porta, inserisci il nome host e la porta (la porta predefinita è 1433).
Se devi specificare una porta non predefinita diversa da 1433 e il database richiede l'utilizzo di una virgola anziché dei due punti, puoi aggiungere
useCommaHostPortSeparator=true
nel campo Parametri JDBC aggiuntivi più in basso nelle impostazioni di connessione, che ti consentirà di utilizzare una virgola per Host remoto:Porta. Ad esempio:jdbc:sqlserver://hostname,1434
Compila il resto dei dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti di database. Per informazioni, consulta la pagina della documentazione Collegamento di Looker al tuo database.
Per verificare che la connessione sia andata a buon fine, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione relativa al test della connettività del database.
Per salvare queste impostazioni, fai clic su Connetti.
Configurazione della connessione a Looker
Segui le istruzioni riportate nella pagina della documentazione Connessione di Looker al database per creare una connessione al database MSSQL. Nella sezione Parametri JDBC aggiuntivi della pagina Impostazioni di connessione, aggiungi quanto segue:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Alcune reti sono configurate per due realm Kerberos, uno per Windows Active Directory e l'altro per Linux e altri sistemi non Windows. In questo caso, quando il Realm incentrato su Linux e l'area di autenticazione di Active Directory sono configurati per essere attendibili l'uno con l'altro, si parla di "autenticazione cross-realm".
Se la tua rete utilizza l'autenticazione tra realm, devi specificare esplicitamente l'entità Kerberos per il server MSSQL. Nel campo Parametri JDBC aggiuntivi, aggiungi quanto segue:
;serverSpn=service_name/FQDN\:PORT@REALM
Sostituisci FQDN
e PORT@REALM
con le informazioni sulla tua rete. Ad esempio:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Inoltre, la pagina Connection Settings (Impostazioni connessione) di Looker richiede di inserire le voci nei campi Username (Nome utente) e Password, ma questi non sono obbligatori per Kerberos. Inserisci valori fittizi in questi campi.
Verifica la connessione per assicurarti che sia configurata correttamente.
Funzionalità supportate
Affinché Looker supporti alcune funzionalità, è necessario che anche il dialetto del tuo database le supporti.
A partire da Looker 24.16, Microsoft SQL Server 2008 e versioni successive supportano le seguenti funzionalità:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Integrazione |
Looker (Google Cloud core) | No |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate SQL permanenti | Sì |
Tabelle derivate native permanenti | Sì |
Viste stabili | Sì |
Interruzioni delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | No |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | Sì |
Sensibilità alle maiuscole | No |
Tipo di località | Sì |
Tipo di elenco | No |
Percentile | No |
Percentile distinto | No |
Processi SQL Runner Show | Sì |
Tabella descrittiva di SQL Runner | Sì |
SQL Runner Mostra indici | Sì |
Selezione SQL Runner 10 | Sì |
Conteggio runner SQL | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pool di connessioni | No |
Schizzi HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimato distinto | No |
Microsoft SQL Server 2016 supporta le seguenti funzionalità a partire da Looker 24.16:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Supportato |
Looker (Google Cloud core) | No |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate SQL permanenti | Sì |
Tabelle derivate native permanenti | Sì |
Viste stabili | Sì |
Interruzioni delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | Sì |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | Sì |
Sensibilità alle maiuscole | No |
Tipo di località | Sì |
Tipo di elenco | No |
Percentile | No |
Percentile distinto | No |
Processi SQL Runner Show | Sì |
Tabella descrittiva di SQL Runner | Sì |
SQL Runner Mostra indici | Sì |
Selezione SQL Runner 10 | Sì |
Conteggio runner SQL | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pool di connessioni | No |
Schizzi HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimato distinto | No |
Microsoft SQL Server 2017+ supporta le seguenti funzionalità a partire da Looker 24.16:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Supportato |
Looker (Google Cloud core) | Sì |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate SQL permanenti | Sì |
Tabelle derivate native permanenti | Sì |
Viste stabili | Sì |
Interruzioni delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | Sì |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | Sì |
Sensibilità alle maiuscole | No |
Tipo di località | Sì |
Tipo di elenco | No |
Percentile | No |
Percentile distinto | No |
Processi SQL Runner Show | Sì |
Tabella descrittiva di SQL Runner | Sì |
SQL Runner Mostra indici | Sì |
Selezione SQL Runner 10 | Sì |
Conteggio runner SQL | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pool di connessioni | No |
Schizzi HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimato distinto | No |