Looker asupport au niveau de l'intégration pour MSSQL. Cette page contient des informations sur la connexion de Looker à MSSQL.
Chiffrement du trafic réseau
Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page de documentation Sécurisation de l'accès à la base de données.
Si vous souhaitez utiliser le chiffrement SSL, consultez la documentation.Documentation Microsoft .
Configuration de l'authentification du serveur
Looker requiert une « authentification SQL Server » sur votre serveur MSSQL. Si votre serveur MSSQL est configuré uniquement en « Authentification intégrée Windows », modifiez sa configuration en « Authentification intégrée Windows et authentification SQL Server ».
Si la configuration du serveur n'est pas correctement définie, Looker ne pourra pas se connecter. Cela apparaîtra dans vos messages de journalisation SQL Server comme suit : « Une tentative de connexion à l’aide de l’authentification SQL a échoué. » Le serveur est configuré uniquement pour l'authentification Windows.
Si cette modification est nécessaire, vous pouvez suivre les étapes suivantes :
- Dans Explorateur d'objets de SQL Server Management Studio, cliquez avec le bouton droit sur le serveur, puis cliquez 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 Explorateur d'objets, cliquez avec le bouton droit sur votre serveur, puis cliquez sur Redémarrer. Si l'agent SQL Server est en cours d'exécution, il doit également être redémarré.
Vous pouvez en savoir plus à ce sujet dans la documentation de Microsoft.
Création d'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 prise en charge.
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 SELECT sur les 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 2012 ou version 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 les requêtes en cours d'exécution
Looker doit être autorisé à détecter et à arrêter les requêtes en cours d'exécution. Pour cela, les autorisations suivantes sont requises :
ALTER ANY CONNECTIONVIEW 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 tables
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 le propriétaire est l'utilisateur Looker et accorder les droits nécessaires à cet utilisateur, 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 les étapes de la section suivante pour configurer Looker de manière à ce qu'il se connecte à l'aide de Kerberos.
Configurer le client Kerberos
Tout d'abord, vous devez vous assurer que plusieurs logiciels sont installés et que plusieurs fichiers sont présents 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, sur Redhat ou CentOS, cela correspondrait à la commande 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.
Extension de cryptographie Java
Téléchargez et installez l'extension de cryptographie Java (JCE) pour Java 8 à partir de ce lien.page de téléchargement d'Oracle .
- Recherchez le répertoire
jre/lib/securitypour l'installation de Java. - Supprimez les fichiers JAR suivants de ce répertoire :
local_policy.jaretUS_export_policy.jar. - Remplacez ces deux fichiers par les fichiers JAR inclus dans le téléchargement des fichiers de politique de juridiction à force illimitée JCE.
Il est possible d'utiliser des versions de Java antérieures à Java 8 avec le JCE installé, mais cela n'est pas recommandé.
- Recherchez le répertoire
Mettez à jour
JAVA_HOMEetPATHdans~looker/.bash_profilepour qu'ils pointent vers la bonne installation de Java etsource ~/.bash_profile, ou déconnectez-vous et reconnectez-vous.Vérifiez la version de Java avec
java -version.Vérifiez la variable d'environnement
JAVA_HOMEavececho $JAVA_HOME.
gss-jaas.conf
Créez un fichier gss-jaas.conf dans le répertoire looker avec le contenu suivant :
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Si nécessaire pour les tests, debug=true peut être ajouté à ce fichier comme ceci :
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Le serveur sur lequel Looker est exécuté 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 le copier depuis une autre machine cliente Kerberos.
lookerstart.cfg
Pointez vers les fichiers gss-jaas.conf et krb5.conf en créant un fichier dans le répertoire looker (le même répertoire que celui contenant le script de démarrage looker) appelé lookerstart.cfg et 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 à l'emplacement /etc/krb5.conf, il faudra également ajouter la variable suivante :
-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.
Authentification avec Kerberos
Authentification des utilisateurs
Si
krb5.confne figure pas dans/etc/, utilisez la variable d'environnementKRB5_CONFIGpour indiquer son emplacement.Exécutez la commande
klistpour vous assurer qu'il existe un ticket valide dans le cache de tickets Kerberos.S'il n'y a pas de ticket, exécutez
kinit username@REALMoukinit usernamepour le créer.Le compte utilisé avec Looker sera probablement sans interface graphique, vous pouvez donc obtenir un fichier keytab auprès de Kerberos pour stocker les informations d'identification pour une utilisation à long terme. Utilisez une commande comme
kinit -k -t looker_user.keytab username@REALMpour obtenir le ticket Kerberos.
Renouvellement automatique du billet
Configurez une job Cron qui s'exécute régulièrement pour maintenir un ticket actif dans le cache des tickets Kerberos. La fréquence d'exécution de cette opération dépend de la configuration du cluster. klist devrait indiquer la date d'expiration des billets.
Créer la connexion Looker à votre base de données
Suivez ces étapes pour créer la connexion entre Looker et votre base de données :
- Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
Dans le menu déroulant Dialect, sélectionnez votre version de Microsoft SQL Server.
Pour Hôte distant et Port, entrez le nom d'hôte et le port (le port par défaut est 1433).
Si vous devez spécifier un port non standard autre que 1433 et que votre base de données exige l'utilisation d'une virgule au lieu d'un deux-points, vous pouvez ajouter
useCommaHostPortSeparator=truedans le champ Paramètres JDBC supplémentaires plus bas dans les paramètres de connexion, ce qui vous permettra d'utiliser une virgule pour Hôte distant:Port. Exemple :jdbc:sqlserver://hostname,1434Complétez les autres 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 a réussi, cliquez sur le bouton Tester la connexion dans la section Détails de l'état en bas de la page Paramètres de connexion.
Si Looker affiche Peut se connecter, appuyez sur Connecter pour créer la connexion.
Votre connexion de base de données est ensuite ajoutée à la liste de la page Connexions Admin de Looker.
Configuration de la connexion Looker
Suivez les instructions de la page de documentation Connexion de 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 ce qui suit :
;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 le domaine axé sur Linux et le domaine Active Directory sont configurés pour se faire confiance mutuellement, on parle d'« authentification inter-domaines ».
Si votre réseau utilise l'authentification inter-domaines, vous devez spécifier explicitement le principal Kerberos pour MSSQL Server. Dans le champ Paramètres JDBC supplémentaires, ajoutez ce qui suit :
;serverSpn=service_name/FQDN\:PORT@REALM
Remplacez FQDN et PORT@REALM par les informations de votre 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 entrées dans les champs Nom d'utilisateur et Mot de passe, mais celles-ci ne sont pas requises pour Kerberos. Saisissez des valeurs fictives dans ces champs.
Testez la connexion pour vous assurer qu'elle est correctement configurée.
Paramètres JDBC acceptés
Pour Microsoft SQL Server, Looker prend en charge les paramètres JDBC suivants dans le champ Paramètres JDBC supplémentaires pour la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.
accessTokenApplicationIntentapplicationNameauthenticationauthenticationSchemecancelQueryTimeoutcolumnEncryptionSettingdatabasedatabaseNamedisableStatementPoolingdomainenablePrepareOnFirstPreparedStatementCallEncryptfailoverPartnerfipsgsscredentialhostNameInCertificateinstanceNameIntegrated SecurityintegratedSecurityjaasConfigurationNamekeyStoreAuthenticationlastUpdateCountlocktimeoutloginTimeoutmsiClientIdmultiSubnetFailoverpacketSizepasswordportNumberqueryTimeoutrealmresponseBufferingselectMethodsendStringParametersAsUnicodesendTimeAsDatetimeserverNameserverPreparedStatementDiscardThresholdserverSpntransparentNetworkIPResolutiontrustServerCertificateuseBulkCopyForBatchInsertuseCommaHostPortSeparatoruserworkstationIDxopenStates
Prise en charge de fonctionnalités
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 prennent en charge les fonctionnalités suivantes à partir de Looker 26.16 :
| Fonctionnalité | Compatibilité |
|---|---|
| Looker (Google Cloud Core) | |
| Agrégations symétriques | |
| Tables dérivées | |
| Tables dérivées persistantes basées sur SQL | |
| Tables dérivées natives persistantes | |
| Vues stables | |
| Arrêt des requêtes | |
| Tableaux croisés dynamiques basés sur SQL | |
| Fuseaux horaires | |
| SSL | |
| Sous-totaux | |
| Paramètres JDBC supplémentaires | |
| Sensibilité à la casse | |
| Type de lieu | |
| Type de liste | |
| Centile | |
| Centile distinct | |
| Afficher les processus de l'Exécuteur SQL | |
| Décrire une table dans l’Exécuteur SQL | |
| Afficher les index dans l'Exécuteur SQL | |
| Exécuteur SQL Select 10 | |
| Nombre d'exécuteurs SQL | |
| Explication SQL | |
| Identifiants OAuth 2.0 | |
| Commentaires contextuels | |
| Regroupement de connexions | |
| Résumés HLL | |
| Reconnaissance d'agrégats | |
| Augmentation de tables PDT | |
| Millisecondes | |
| Microsecondes | |
| Vues matérialisées | |
| Mesures de variation par période | |
| Nombre approximatif d'éléments distincts | |
| Modèles analytiques dans la base de données | |
| Agendas personnalisés |
Microsoft SQL Server 2016 prend en charge les fonctionnalités suivantes à partir de Looker 26.16 :
| Fonctionnalité | Compatibilité |
|---|---|
| Looker (Google Cloud Core) | |
| Agrégations symétriques | |
| Tables dérivées | |
| Tables dérivées persistantes basées sur SQL | |
| Tables dérivées natives persistantes | |
| Vues stables | |
| Arrêt des requêtes | |
| Tableaux croisés dynamiques basés sur SQL | |
| Fuseaux horaires | |
| SSL | |
| Sous-totaux | |
| Paramètres JDBC supplémentaires | |
| Sensibilité à la casse | |
| Type de lieu | |
| Type de liste | |
| Centile | |
| Centile distinct | |
| Afficher les processus de l'Exécuteur SQL | |
| Décrire une table dans l’Exécuteur SQL | |
| Afficher les index dans l'Exécuteur SQL | |
| Exécuteur SQL Select 10 | |
| Nombre d'exécuteurs SQL | |
| Explication SQL | |
| Identifiants OAuth 2.0 | |
| Commentaires contextuels | |
| Regroupement de connexions | |
| Résumés HLL | |
| Reconnaissance d'agrégats | |
| Augmentation de tables PDT | |
| Millisecondes | |
| Microsecondes | |
| Vues matérialisées | |
| Mesures de variation par période | |
| Nombre approximatif d'éléments distincts | |
| Modèles analytiques dans la base de données | |
| Agendas personnalisés |
Microsoft SQL Server 2017 et versions ultérieures prennent en charge les fonctionnalités suivantes à partir de Looker 26.16 :
| Fonctionnalité | Compatibilité |
|---|---|
| Looker (Google Cloud Core) | |
| Agrégations symétriques | |
| Tables dérivées | |
| Tables dérivées persistantes basées sur SQL | |
| Tables dérivées natives persistantes | |
| Vues stables | |
| Arrêt des requêtes | |
| Tableaux croisés dynamiques basés sur SQL | |
| Fuseaux horaires | |
| SSL | |
| Sous-totaux | |
| Paramètres JDBC supplémentaires | |
| Sensibilité à la casse | |
| Type de lieu | |
| Type de liste | |
| Centile | |
| Centile distinct | |
| Afficher les processus de l'Exécuteur SQL | |
| Décrire une table dans l’Exécuteur SQL | |
| Afficher les index dans l'Exécuteur SQL | |
| Exécuteur SQL Select 10 | |
| Nombre d'exécuteurs SQL | |
| Explication SQL | |
| Identifiants OAuth 2.0 | |
| Commentaires contextuels | |
| Regroupement de connexions | |
| Résumés HLL | |
| Reconnaissance d'agrégats | |
| Augmentation de tables PDT | |
| Millisecondes | |
| Microsecondes | |
| Vues matérialisées | |
| Mesures de variation par période | |
| Nombre approximatif d'éléments distincts | |
| Modèles analytiques dans la base de données | |
| Agendas personnalisés |