Crittografia del traffico di rete
Looker consiglia di criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.
Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di Microsoft.
Configurazione dell'autenticazione del server
Looker richiede "SQL Server Authentication" sul tuo server MSSQL. Se il server MSSQL è configurato solo come "Autenticazione integrata Windows", cambia la configurazione del server in "Autenticazione integrata Windows e autenticazione SQL Server".
Se non è impostato correttamente, Looker non sarà in grado di connettersi. Nei messaggi di log di SQL Server verrà visualizzato il messaggio "Un tentativo di accesso utilizzando l'autenticazione SQL non è riuscito. Il server è configurato solo per l'autenticazione di Windows."
Se questa modifica è obbligatoria, puoi completare i seguenti passaggi:
- In SQL Server Management Studio Explorer oggetti, fai clic con il tasto destro del mouse sul server e poi fai clic su Proprietà.
- Nella pagina Sicurezza, in Autenticazione server, seleziona la nuova modalità di autenticazione del server, quindi 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 Explorer oggetti, fai clic con il tasto destro del mouse sul server e 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 autentica il tuo database utilizzando l'autenticazione SQL Server. L'uso di un account di dominio non è supportato.
Per creare un account, esegui questi comandi. Passa a some_password_here
con una password univoca e sicura:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Autorizzazione dell'utente Looker a 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 il comando seguente per ogni schema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Per concedere l'autorizzazione
SELECT
a singole tabelle, esegui il comando seguente per ogni tabella:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;
Per la versione 2012 di MSSQL o versioni successive, in alternativa puoi assegnare all'utente Looker il ruolo
db_datareader
utilizzando questi comandi:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Concedere all'utente Looker l'autorizzazione per visualizzare e interrompere le query
Looker deve essere autorizzata a rilevare e interrompere le query attualmente in esecuzione, che richiedono le seguenti autorizzazioni:
ALTER ANY CONNECTION
VIEW SERVER STATE
Per concedere queste autorizzazioni, esegui i comandi seguenti:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Concessione dell'autorizzazione dell'utente Looker per creare tabelle
Per concedere all'utente Looker l'autorizzazione per creare PDT, invia i seguenti comandi:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Configurazione dello schema temporaneo
Per creare uno schema di proprietà dell'utente Looker e concedere i diritti necessari all'utente Looker, esegui questo comando:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Configurazione dell'autenticazione Kerberos
Se utilizzi l'autenticazione Kerberos al tuo database MSSQL, segui questi passaggi per configurare Looker in modo che si connetta utilizzando Kerberos.
Impostazione della configurazione del client Kerberos
La prima cosa da fare è garantire l'installazione di più software e la presenza di più file sulla macchina Looker.
Client Kerberos
Verifica che il client Kerberos sia installato sul computer Looker eseguendo kinit
. Se il client Kerberos non lo è, installa i programmi binari del client Kerberos.
Ad esempio, su Redhat/CentOS, sarebbe:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
È necessario installare Java 8 sulla macchina Looker e nei PATH
e JAVA_HOME
dell'utente Looker. Se necessario, installalo localmente nella directory looker
.
Estensione crittografia crittografica Java
Scarica e installa l'estensione di crittografia Java (JCE) per Java 8 da questo sito 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 i due file con i file JAR inclusi nel download dei file dei criteri di giurisdizione di JCE Unlimited Strength.
È 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 puntino alla corretta installazione di Java esource ~/.bash_profile
oppure esci e accedi di nuovo.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 il seguente contenuto:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Se necessario, puoi aggiungere debug=true
a questo file in questo modo:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Il server che esegue Looker deve anche avere un file krb5.conf
valido. Per impostazione predefinita, questo file è in /etc/krb5.conf
. Se si trova in un'altra località, deve essere indicato nell'ambiente (KRB5_CONFIG
nell'ambiente shell).
Potrebbe essere necessario copiarlo da un altro computer client Kerberos.
lookerstart.cfg
Posiziona il cursore 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
) e denominata 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 all'indirizzo /etc/krb5.conf
, sarà anche necessario aggiungere 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 indicare la sua posizione.Esegui il comando
klist
per assicurarti che la cache del ticket Kerberos sia valida.Se non è presente alcun ticket, esegui
kinit username@REALM
okinit username
per creare il ticket.Probabilmente l'account utilizzato con Looker sarà headless, quindi puoi recuperare un file keytab da Kerberos per archiviare le credenziali per un uso a lungo termine. Utilizza un comando come
kinit -k -t looker_user.keytab username@REALM
per ricevere il ticket Kerberos.
Rinnovo automatico del ticket
Configura un cron job eseguito di tanto in tanto per mantenere un ticket attivo nella cache dei ticket Kerberos. La frequenza di esecuzione dipende dalla configurazione del cluster. klist
dovrebbe indicare la scadenza dei biglietti.
Creazione della connessione di Looker al database
Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database. I seguenti campi hanno informazioni aggiuntive applicabili a Microsoft SQL Server:
- Dialect: seleziona la versione appropriata di Microsoft SQL Server.
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 tuo 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 consentiranno di utilizzare una virgola per Remote Host:Port. Ecco alcuni esempi:jdbc:sqlserver://hostname,1434
Per verificare che la connessione sia riuscita, fai clic su Prova. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività dei database.
Per salvare queste impostazioni, fai clic su Connetti.
Configurazione della connessione di Looker
Per creare una connessione al tuo database MSSQL, segui le istruzioni riportate nella pagina della documentazione Connessione di Looker al tuo database. Nella sezione Ulteriori parametri JDBC della pagina Impostazioni di connessione, aggiungi quanto segue:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Alcune reti sono configurate per due aree di autenticazione Kerberos, una per Windows Active Directory e l'altra per Linux e altri sistemi non Windows. In questo caso, quando l'area di autenticazione incentrata su Linux e quella di Active Directory è configurata in modo da fidarsi a vicenda, viene denominata "autenticazione cross-realm".
Se la tua rete utilizza l'autenticazione cross-realm, devi specificare esplicitamente l'entità Kerberos per MSSQL Server. Nel campo Parametri JDBC aggiuntivi, aggiungi quanto segue:
;serverSpn=service_name/FQDN\:PORT@REALM
Sostituzione di FQDN
e PORT@REALM
con le informazioni di rete. Ecco alcuni esempi:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Inoltre, la pagina Impostazioni di connessione in Looker richiede voci nei campi Username (Nome utente) e Password, ma non sono obbligatorie per Kerberos. Inserisci valori fittizi in questi campi.
Testa la connessione per assicurarti che sia configurata correttamente.
Assistenza per le funzionalità
Affinché Looker supporti alcune funzionalità, anche il dialetto del tuo database deve supportarle.
Microsoft SQL Server 2008+ supporta le seguenti funzionalità a partire da Looker 23.8:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Integrazione |
Looker (Google Cloud core) | No |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate permanenti da SQL | Sì |
Tabelle derivate native permanenti | Sì |
Visualizzazioni stabili | Sì |
Termine 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 |
Distintivo percentile | No |
Processi di visualizzazione di SQL Runner | Sì |
Tabella di descrizione di SQL Runner | Sì |
Indici di SQL Runner | Sì |
SQL Runner Seleziona 10 | Sì |
Conteggio SQL Runner | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pooling della connessione | No |
Disegni HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimativo distinto | No |
Microsoft SQL Server 2016 supporta le seguenti funzionalità a partire da Looker 23.8:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Richiesta supportata |
Looker (Google Cloud core) | No |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate permanenti da SQL | Sì |
Tabelle derivate native permanenti | Sì |
Visualizzazioni stabili | Sì |
Termine 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 |
Distintivo percentile | No |
Processi di visualizzazione di SQL Runner | Sì |
Tabella di descrizione di SQL Runner | Sì |
Indici di SQL Runner | Sì |
SQL Runner Seleziona 10 | Sì |
Conteggio SQL Runner | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pooling della connessione | No |
Disegni HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimativo distinto | No |
Microsoft SQL Server 2017+ supporta le seguenti funzionalità a partire da Looker 23.8:
Funzionalità | Supportato? |
---|---|
Livello di assistenza | Richiesta supportata |
Looker (Google Cloud core) | Sì |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate permanenti da SQL | Sì |
Tabelle derivate native permanenti | Sì |
Visualizzazioni stabili | Sì |
Termine 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 |
Distintivo percentile | No |
Processi di visualizzazione di SQL Runner | Sì |
Tabella di descrizione di SQL Runner | Sì |
Indici di SQL Runner | Sì |
SQL Runner Seleziona 10 | Sì |
Conteggio SQL Runner | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pooling della connessione | No |
Disegni HLL | No |
Aggregate Awareness | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimativo distinto | No |