Looker est idéal pour rendre les données accessibles à tous vos utilisateurs ou clients. Comme nous aimons le dire, Looker aide à "démocratiser les données". Vous pouvez permettre à vos utilisateurs de consulter eux-mêmes les résultats des requêtes sans qu'un analyste ait à créer manuellement un tableau de bord. Avec Looker, vos utilisateurs peuvent même effectuer leurs propres analyses. Pour ce faire, vous pouvez utiliser la fonctionnalité Intégration signée de Looker. Cette page présente deux méthodes différentes pour implémenter l'intégration signée : l'API Looker et le kit de développement logiciel (SDK) d'intégration de Looker.
Supposons que vous souhaitiez intégrer les résultats de requêtes dans l'application ou les systèmes internes de votre entreprise, et que vous ne vouliez pas avoir à fournir des identifiants Looker à tous vos utilisateurs. Pour ce faire, vous pouvez utiliser la fonctionnalité d'intégration signée de Looker. Cela diffère de la référence générale aux workflows d'authentification unique tels que LDAP ou SAML, qui peuvent également être intégrés à votre instance Looker.
L'état Connecté dans l'intégration connectée signifie qu'une fois l'URL d'intégration créée et la requête envoyée depuis le navigateur, la session Looker de l'utilisateur a commencé et qu'il est connecté. Ces URL sont signées et ne peuvent être utilisées qu'une seule fois. Ces URL créent des iFrames qui permettent aux développeurs d'intégrer des contenus tels que des explorations, des looks et des tableaux de bord au site Web ou à l'application de votre entreprise. Lorsque l'URL est utilisée, si l'utilisateur ne possède pas de compte, un compte est créé pour lui en fonction des paramètres transmis dans l'URL.
Les développeurs peuvent utiliser l'API Looker ou les SDK de l'API Looker pour créer ces iFrames de manière dynamique. Vous pouvez appliquer des thèmes et personnaliser le contenu pour l'adapter aux besoins de votre entreprise ou d'un groupe d'utilisateurs spécifique. Pour en savoir plus sur le potentiel de l'intégration de Looker dans vos contenus, consultez cette démonstration complète qui explique comment appliquer ces concepts.
Par où commencer ?
Imaginons que vous ayez regardé la démo et que vous souhaitiez ajouter ces iFrames à votre application. Par où commencer et quelle méthode choisir pour votre cas d'utilisation ?
Looker propose plusieurs options principales pour générer ce contenu, qui peut être placé dans votre application ou votre site Web :
- Dépôts d'exemples de scripts Looker écrits dans différents langages de programmation (C#, Python, Node.js, Python, Ruby, PHP)
- Le point de terminaison
Create Signed Embed Url
inclus dans notre API REST, accessible via des requêtes HTTP ou l'un de nos SDK - SDK d'intégration de Looker
Nous recommandons généralement aux clients d'utiliser le SDK Embed et le point de terminaison de l'API REST plutôt que des exemples de scripts. En effet, le SDK et l'API REST sont fréquemment mis à jour par nos développeurs et génèrent généralement des URL plus courtes que les scripts. (Les URL plus courtes sont un peu plus faciles à gérer.) Le SDK Embed et le point de terminaison de l'API REST offrent également des fonctionnalités de sécurité utiles, qui sont abordées plus loin sur cette page.
Supposons que nous voulions que l'utilisateur de notre application puisse afficher un tableau de bord Looker sur une page de données dans une application client. Voici un exemple de workflow d'intégration :
- L'utilisateur se connecte à une application. Ils peuvent utiliser un service SAML ou simplement une adresse e-mail et un mot de passe pour se connecter à l'application.
- L'application confirme que les identifiants sont corrects et l'utilisateur peut accéder au contenu.
- En fonction de la réponse du workflow de connexion, les informations de l'utilisateur sont transmises à une fonction qui peut utiliser l'un de nos exemples de scripts pour créer l'URL d'intégration signée. Ces scripts nécessitent les autorisations de l'utilisateur, les ID de groupe, le secret d'intégration, l'URL hôte, les attributs utilisateur tels que le prénom et le nom, les filtres d'accès, la durée de la session et l'URL à laquelle nous souhaitons que l'utilisateur puisse accéder. Toutes ces informations sont envoyées à Looker, et une URL signée est créée.
- L'utilisateur accède à la page de données de l'application, où cette URL signée est placée dans un iFrame. Le navigateur envoie ensuite une requête à l'URL de l'iFrame. Le tableau de bord se propage avec une expérience personnalisée, et l'utilisateur peut accéder aux données de Looker dans l'application.
Le point de terminaison Create Signed Embed Url
À l'aide de l'API REST de Looker ou de l'un des SDK, un développeur peut générer une URL signée et encodée basée sur un ensemble de paramètres. Il s'agit d'une requête POST. Le serveur à partir duquel la requête API est envoyée doit pouvoir s'authentifier dans Looker avec des droits d'administrateur. L'un des principaux avantages de l'utilisation de ce point de terminaison est qu'il ne nécessite pas de secret d'intégration. En effet, il est déjà configuré pour récupérer le secret d'intégration actuel. Les appels à ce point de terminaison ne sont pas non plus comptabilisés dans les limites de débit de l'API. En général, les identifiants API sont plus faciles à faire tourner qu'un secret d'intégration. Plusieurs identifiants API 3 peuvent être actifs en même temps, mais un seul secret d'intégration peut être utilisé à la fois sur une instance. Cela permet de remplacer plus facilement les identifiants sans interruption de service. Le point de terminaison Create Signed Embed Url
crée également une URL plus courte et plus concise que les scripts exemples de notre dépôt d'exemples de scripts d'URL d'intégration signées.
Voici un exemple de workflow qui utilise le point de terminaison Create Signed Embed Url
:
- L'utilisateur tente de se connecter à votre application, le plus souvent avec une combinaison nom d'utilisateur/mot de passe ou éventuellement via un fournisseur d'identité (IdP).
- S'il se connecte à l'application, le point de terminaison
Create Signed Embed Url
est exécuté. Une fonction créée par votre équipe de développement transmet les identifiants spécifiques de cet utilisateur à ce point de terminaison, et une URL signée est renvoyée de Looker à votre serveur. - L'utilisateur peut avoir la possibilité de cliquer sur un onglet de données dans l'application. Lorsqu'ils accèdent à l'onglet "Données", cette page demande l'URL signée à votre serveur et la place dans l'iFrame de la page.
- L'utilisateur voit un tableau de bord Looker intégré de manière fluide dans votre application avec des données en direct.
SDK d'intégration
Le SDK d'intégration de Looker est un ensemble de fonctions JavaScript regroupées pour permettre aux développeurs d'intégrer plus facilement du contenu Looker. Le SDK Embed vous permet d'ajouter du contenu Looker à une page de votre application ou de votre site Web sans avoir à créer d'éléments HTML spécifiques. Le SDK permet aux développeurs de créer une communication point à point sécurisée entre la page HTML et votre contenu Looker. Le SDK d'intégration encapsule désormais l'iframe, ce qui signifie que les clients n'auront pas à le créer ni à le gérer. Le SDK d'intégration n'est destiné qu'aux applications de navigateur, mais il inclut une fonction utilitaire pour générer l'URL signée. Ces deux éléments sont disponibles en TypeScript et en Python. Même si le SDK Embed figure dans le registre nmpjs, vous n'avez pas besoin d'utiliser un serveur Web Node.js.
L'une des caractéristiques uniques du SDK d'intégration est qu'il vous permet également d'exploiter les composants Looker, une collection de blocs de code réutilisables qui ont été créés pour vous aider à implémenter le système de conception de Looker.
Un autre avantage du SDK Embed est le nombre de fonctions prédéfinies qui déchargent une grande partie du travail de votre équipe de développement. L'annulation des clics est l'un des principaux exemples. Le SDK d'intégration utilise l'API MessageChannel
plutôt que postMessage
. Cela signifie que deux scripts s'exécutant sur la même page peuvent communiquer entre eux à l'aide de l'API postMessage
. Cela permet à d'autres fonctions de communiquer avec l'iFrame ou de faire communiquer d'autres fonctions avec l'iFrame.
Voici un exemple de workflow pour le SDK Embed :
- L'utilisateur tente de se connecter à votre application.
- Si la connexion réussit, les informations de l'utilisateur sont envoyées à l'utilitaire d'assistance
Node.js
sur le serveur qui exécute l'application. Les informations requises sont transmises à l'instance Looker, et une URL signée est renvoyée. - L'utilisateur accède à la page de données de l'application où le SDK d'intégration est utilisé pour placer l'iFrame. Étant donné que le SDK Embed est écrit en JavaScript, nous pouvons utiliser
LookerEmbedSDK.createDashboardWithId
et cibler un élément DOM spécifique (généralement un span ou un div) sur la page pour y ajouter l'iframe (URL signée). - La page est chargée, et l'URL signée charge le tableau de bord à partir de l'instance Looker.
Alors, quelle est la meilleure méthode ?
La méthode utilisée par votre équipe de développement dépendra de votre cas d'utilisation spécifique :
Comme le montre le diagramme précédent, la méthode de point de terminaison Create Signed Embed Url
et la méthode du SDK Embed décrites précédemment permettent à votre équipe de développement de se concentrer sur le produit plutôt que sur la façon dont Looker s'intègre à l'application. Les deux méthodes permettent également de proposer des expériences de données riches dans votre application native.
La méthode de point de terminaison Create Signed Embed Url
diffère de la méthode du SDK Embed de la manière suivante :
- Elle ne nécessite pas de code secret pour l'intégration.
- Le processus est semblable à celui utilisé pour les autres API REST.
- Le point de terminaison doit être appelé côté serveur.
La méthode Embed SDK présente les caractéristiques suivantes :
- Il est basé sur JavaScript et peut cibler des éléments DOM spécifiques.
- Il interagit avec les composants Looker pour styliser l'UI.
- Il s'intègre aux fonctions utilitaires d'assistance et le développement peut être effectué côté client.
Si vous avez des questions spécifiques sur les exigences de développement ou d'architecture, vous pouvez contacter l'équipe des services professionnels de Looker ou l'un de nos partenaires de développement.
De plus, notre équipe d'assistance peut vous aider à résoudre les problèmes généraux ou les comportements inattendus. Vous pouvez ouvrir une demande d'assistance dans le Centre d'aide de Looker en cliquant sur Nous contacter.
Consultez le post de la communauté Outils d'intégration signés et ressources de dépannage pour obtenir des ressources supplémentaires.