Chiffrement du trafic réseau
Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.
Si vous envisagez d'utiliser le chiffrement SSL, consultez la documentation Microsoft.
Configurer l'authentification du serveur
Looker nécessite l'authentification SQL Server sur votre serveur MSSQL. Si votre serveur MSSQL est configuré en tant qu'« authentification intégrée Windows » uniquement, modifiez la configuration du serveur en « Authentification intégrée Windows et authentification SQL Server ».
Si la configuration du serveur n'est pas définie correctement, Looker ne pourra pas se connecter. Ce message s'affiche dans les messages de journal SQL Server, par exemple : "Une tentative de connexion à l'aide de l'authentification SQL a échoué. Le serveur est configuré pour l'authentification Windows uniquement."
Si cette modification est nécessaire, procédez comme suit:
- Dans l'explorateur d'objets SQL Server Management Studio, effectuez un clic droit sur le serveur, puis cliquez sur Properties (Propriétés).
- Sur la page Sécurité, sous Authentification du serveur, sélectionnez le nouveau mode d'authentification du serveur, puis cliquez sur OK.
- Dans la boîte de dialogue SQL Server Management Studio, cliquez sur OK pour confirmer la nécessité de redémarrer SQL Server.
- Dans Object Explorer (Explorateur d'objets), effectuez un clic droit sur votre serveur, puis cliquez sur Restart (Redémarrer). Si l'agent SQL Server est en cours d'exécution, il doit également être redémarré.
Pour en savoir plus, consultez la documentation Microsoft.
Créer un utilisateur Looker
Looker s'authentifie auprès de votre base de données à l'aide de l'authentification SQL Server. L'utilisation d'un compte de domaine n'est pas acceptée.
Pour créer un compte, exécutez les commandes suivantes. Remplacez some_password_here
par un mot de passe unique et sécurisé :
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Accorder à l'utilisateur Looker l'autorisation SÉLECTIONNER à partir des tables
Looker nécessite l'autorisation SELECT
pour chaque table ou schéma que vous souhaitez interroger. Il existe plusieurs façons d'attribuer l'autorisation SELECT
:
Pour accorder l'autorisation
SELECT
à des schémas individuels, exécutez la commande suivante pour chaque schéma:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Pour accorder l'autorisation
SELECT
à des tables individuelles, exécutez la commande suivante pour chaque table :GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;
Pour MSSQL version 2012 ou ultérieure, vous pouvez également attribuer le rôle
db_datareader
à l'utilisateur Looker à l'aide des commandes suivantes :USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Accorder à l'utilisateur Looker l'autorisation d'afficher et d'arrêter l'exécution des requêtes
Looker doit être autorisé à détecter et à arrêter l'exécution des requêtes. Pour cela, il doit disposer des autorisations suivantes :
ALTER ANY CONNECTION
VIEW SERVER STATE
Pour accorder ces autorisations, exécutez les commandes suivantes:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Accorder à l'utilisateur Looker l'autorisation de créer des tableaux
Pour accorder à l'utilisateur Looker l'autorisation de créer des PDT, exécutez les commandes suivantes :
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Configuration d'un schéma temporaire
Pour créer un schéma dont l'utilisateur Looker est le propriétaire et lui accorder les droits nécessaires, exécutez la commande suivante :
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Configurer l'authentification Kerberos
Si vous utilisez l'authentification Kerberos avec votre base de données MSSQL, suivez la procédure de configuration de Looker pour qu'il se connecte à l'aide de Kerberos, comme décrit dans la section suivante.
Établir la configuration du client Kerberos
Tout d'abord, vous devez vous assurer de l'installation de plusieurs logiciels et de la présence de plusieurs fichiers sur la machine Looker.
Client Kerberos
Vérifiez que le client Kerberos est installé sur la machine Looker en exécutant kinit
. Si le client Kerberos n'est pas installé, installez les binaires du client Kerberos.
Par exemple, sous RedHat ou CentOS, la commande est la suivante :
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 doit être installé sur la machine Looker et dans les PATH
et JAVA_HOME
de l'utilisateur Looker. Si nécessaire, installez-le localement dans le répertoire looker
.
Java Cryptography Extension
Téléchargez et installez l'extension Java Cryptography (JCE) pour Java 8 sur la page de téléchargement Oracle.
- Recherchez le répertoire
jre/lib/security
pour l'installation Java. - Supprimez les fichiers JAR suivants de ce répertoire :
local_policy.jar
etUS_export_policy.jar
. - Remplacez ces deux fichiers par les fichiers JAR inclus dans le téléchargement des fichiers de règles de juridiction JCE Unlimited Strength.
Il est possible d'utiliser des versions antérieures à Java 8 avec le JCE installé, mais cela n'est pas recommandé.
- Recherchez le répertoire
Mettez à jour
JAVA_HOME
etPATH
dans~looker/.bash_profile
pour qu'ils pointent vers l'installation correcte de Java et desource ~/.bash_profile
, ou déconnectez-vous, puis reconnectez-vous.Vérifiez la version de Java à l'aide de
java -version
.Vérifiez la variable d'environnement
JAVA_HOME
avececho $JAVA_HOME
.
gss-jaas.conf
Dans le répertoire looker
, créez un fichier gss-jaas.conf
avec le contenu suivant:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Si nécessaire à des fins de test, debug=true
peut être ajouté à ce fichier comme suit:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Le serveur qui exécute Looker doit également disposer d'un fichier krb5.conf
valide. Par défaut, ce fichier se trouve dans /etc/krb5.conf
. Si elle se trouve à un autre emplacement, cela doit être indiqué dans l'environnement (KRB5_CONFIG
dans l'environnement shell).
Vous devrez peut-être copier cet ID à partir d'une autre machine cliente Kerberos.
lookerstart.cfg
Pointez vers les fichiers gss-jaas.conf
et krb5.conf
en créant un fichier nommé lookerstart.cfg
dans le répertoire looker
(le même répertoire que celui contenant le script de démarrage looker
) contenant les lignes suivantes :
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
Si le fichier krb5.conf
ne se trouve pas dans /etc/krb5.conf
, vous devez également ajouter cette variable :
-Djava.security.krb5.conf=/path/to/krb5.conf
Pour le débogage, ajoutez les variables suivantes :
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Redémarrez ensuite Looker avec ./looker restart
.
S'authentifier avec Kerberos
Authentification des utilisateurs
Si
krb5.conf
ne se trouve pas dans/etc/
, utilisez la variable d'environnementKRB5_CONFIG
pour indiquer son emplacement.Exécutez la commande
klist
pour vous assurer qu'il existe un ticket valide dans le cache du ticket Kerberos.Si aucun ticket n'est créé, exécutez
kinit username@REALM
oukinit username
pour en créer un.Le compte utilisé avec Looker est probablement sans tête. Vous pouvez donc obtenir un fichier keytab auprès de Kerberos pour stocker les identifiants à long terme. Utilisez une commande telle que
kinit -k -t looker_user.keytab username@REALM
pour obtenir le ticket Kerberos.
Renouvellement automatique du billet
Configurez une tâche cron qui s'exécute régulièrement pour conserver un ticket actif dans le cache de tickets Kerberos. La fréquence d'exécution dépend de la configuration du cluster. klist
devrait indiquer le délai d'expiration des billets.
Créer la connexion Looker à votre base de données
Pour créer la connexion entre Looker et votre base de données, procédez comme suit:
- Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
Dans le menu déroulant Dialecte, sélectionnez votre version de Microsoft SQL Server.
Dans les champs Hôte distant et Port, saisissez le nom d'hôte et le port (le port par défaut est 1433).
Si vous devez spécifier un port autre que 1433 et que votre base de données requiert l'utilisation d'une virgule au lieu du signe deux-points, vous pouvez ajouter
useCommaHostPortSeparator=true
dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) plus bas dans les paramètres de connexion, ce qui vous permettra d'utiliser une virgule pour Remote Host:Port. Exemple :jdbc:sqlserver://hostname,1434
Complétez le reste des informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
Pour vérifier que la connexion est établie, cliquez sur Test. Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.
Pour enregistrer ces paramètres, cliquez sur Connecter.
Configurer la connexion Looker
Suivez les instructions de la page de documentation Connecter Looker à votre base de données pour créer une connexion à votre base de données MSSQL. Dans la section Paramètres JDBC supplémentaires de la page Paramètres de connexion, ajoutez les éléments suivants :
;integratedSecurity=true;authenticationScheme=JavaKerberos
Certains réseaux sont configurés pour deux domaines Kerberos, l'un pour Windows Active Directory et l'autre pour Linux et d'autres systèmes non-Windows. Dans ce cas, lorsque les domaines Linux et Active Directory sont configurés pour se faire confiance, on parle d'"authentification multidomaine".
Si votre réseau utilise l'authentification inter-domaine, vous devez spécifier explicitement le principal Kerberos pour MSSQL Server. Dans le champ Paramètres JDBC supplémentaires, ajoutez les éléments suivants:
;serverSpn=service_name/FQDN\:PORT@REALM
Remplacez FQDN
et PORT@REALM
par vos informations réseau. Exemple :
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
De plus, la page Paramètres de connexion de Looker exige des champs Nom d'utilisateur et Mot de passe, mais ces champs ne sont pas obligatoires pour Kerberos. Saisissez des valeurs fictives dans ces champs.
Testez la connexion pour vous assurer qu'elle est correctement configurée.
Compatibilité des caractéristiques
Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.
Microsoft SQL Server 2008 et versions ultérieures sont compatibles avec les fonctionnalités suivantes à partir de Looker 24.16 :
Caractéristique | Compatibilité |
---|---|
Niveau d'assistance | Intégration |
Looker (Google Cloud Core) | Non |
Agrégations symétriques | Oui |
Tables dérivées | Oui |
Tables dérivées SQL persistantes | Oui |
Tables dérivées natives persistantes | Oui |
Vues stables | Oui |
Arrêt des requêtes | Oui |
Tableaux croisés dynamiques basés sur SQL | Oui |
Fuseaux horaires | Non |
SSL | Oui |
Sous-totaux | Oui |
Paramètres supplémentaires JDBC | Oui |
Sensible à la casse | Non |
Type d'emplacement | Oui |
Type de liste | Non |
Centile | Non |
Centile distinct | Non |
Exécuteur SQL : afficher les processus | Oui |
Table de description de SQL Runner | Oui |
Indexes de l'exécuteur SQL | Oui |
SQL Runner Select 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
Expliquer SQL | Non |
Identifiants Oauth | Non |
Commentaires sur le contexte | Oui |
Regroupement de connexions | Non |
HLL Sketches | Non |
Reconnaissance d'agrégats. | Oui |
Augmentation de tables PDT | Non |
Millisecondes | Oui |
Microsecondes | Oui |
Vues matérialisées | Non |
Nombre approximatif distinct | Non |
Microsoft SQL Server 2016 prend en charge les fonctionnalités suivantes à partir de Looker 24.16:
Caractéristique | Compatibilité |
---|---|
Niveau d'assistance | Compatible |
Looker (Google Cloud Core) | Non |
Agrégations symétriques | Oui |
Tables dérivées | Oui |
Tables dérivées SQL persistantes | Oui |
Tables dérivées natives persistantes | Oui |
Vues stables | Oui |
Arrêt des requêtes | Oui |
Tableaux croisés dynamiques basés sur SQL | Oui |
Fuseaux horaires | Oui |
SSL | Oui |
Sous-totaux | Oui |
Paramètres supplémentaires JDBC | Oui |
Sensible à la casse | Non |
Type d'emplacement | Oui |
Type de liste | Non |
Centile | Non |
Centile distinct | Non |
Exécuteur SQL : afficher les processus | Oui |
Table de description de SQL Runner | Oui |
Indexes de l'exécuteur SQL | Oui |
SQL Runner Select 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
Expliquer SQL | Non |
Identifiants Oauth | Non |
Commentaires sur le contexte | Oui |
Regroupement de connexions | Non |
HLL Sketches | Non |
Reconnaissance d'agrégats. | Oui |
Augmentation de tables PDT | Non |
Millisecondes | Oui |
Microsecondes | Oui |
Vues matérialisées | Non |
Nombre approximatif distinct | Non |
Microsoft SQL Server 2017 et versions ultérieures sont compatibles avec les fonctionnalités suivantes à partir de Looker 24.16 :
Caractéristique | Compatibilité |
---|---|
Niveau d'assistance | Compatible |
Looker (Google Cloud Core) | Oui |
Agrégations symétriques | Oui |
Tables dérivées | Oui |
Tables dérivées SQL persistantes | Oui |
Tables dérivées natives persistantes | Oui |
Vues stables | Oui |
Arrêt des requêtes | Oui |
Tableaux croisés dynamiques basés sur SQL | Oui |
Fuseaux horaires | Oui |
SSL | Oui |
Sous-totaux | Oui |
Paramètres supplémentaires JDBC | Oui |
Sensible à la casse | Non |
Type d'emplacement | Oui |
Type de liste | Non |
Centile | Non |
Centile distinct | Non |
Exécuteur SQL : afficher les processus | Oui |
Table de description de SQL Runner | Oui |
Indexes de l'exécuteur SQL | Oui |
SQL Runner Select 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
Expliquer SQL | Non |
Identifiants Oauth | Non |
Commentaires sur le contexte | Oui |
Regroupement de connexions | Non |
HLL Sketches | Non |
Reconnaissance d'agrégats. | Oui |
Augmentation de tables PDT | Non |
Millisecondes | Oui |
Microsecondes | Oui |
Vues matérialisées | Non |
Nombre approximatif distinct | Non |