Looker est particulièrement efficace pour rendre les données accessibles à tous vos utilisateurs ou clients. Comme nous aimons le dire, Looker contribue à "démocratiser les données". Vous pouvez permettre à vos utilisateurs de consulter les résultats de leurs requêtes eux-mêmes sans avoir à demander à un analyste de 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é d'intégration avec signature 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 dans les systèmes internes de votre entreprise sans devoir fournir à tous vos utilisateurs des identifiants Looker. Pour ce faire, utilisez la fonctionnalité d'intégration avec signature de Looker. Ceci est différent de la référence générale aux workflows SSO tels que LDAP ou SAML, qui peuvent également être intégrés à votre instance Looker.
L'intégration signée signé 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 démarré et celui-ci 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 sur le site Web ou l'application de votre entreprise. Lorsque l'URL est utilisée, si l'utilisateur ne dispose pas de compte, un compte lui est créé en fonction des paramètres transmis à l'URL.
Les développeurs peuvent utiliser l'API Looker ou les SDK de l'API Looker pour créer ces cadres iFrame de manière dynamique. Vous pouvez appliquer des thèmes et personnaliser le contenu en fonction des besoins de votre entreprise ou d'un groupe d'utilisateurs spécifique. Pour en savoir plus sur l'intégration de Looker à vos contenus, voici une démonstration complète expliquant comment appliquer ces concepts.
Par où commencer ?
Supposons maintenant que vous avez regardé la démonstration et que vous souhaitez essayer d'ajouter ces cadres iFrame à votre application. Par où commencer et quelle méthode est la plus adaptée à 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:
- Exemples de dépôts de scripts Looker écrits dans divers 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'ingestion de Looker
Nous recommandons généralement le SDK Embed et le point de terminaison de l'API REST aux clients plutôt que des exemples de scripts, car le SDK et l'API REST sont fréquemment mis à jour par nos développeurs, et créent 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 proposent également des fonctionnalités de sécurité utiles, qui sont décrites plus loin sur cette page.
Supposons que nous souhaitions que l'utilisateur de notre application puisse afficher un tableau de bord Looker sur une page de données dans une application cliente. Voici un exemple de workflow d'intégration courant:
- 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 que 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 de l'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 l'utilisateur doit pouvoir 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 sur 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 au sein de 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 à l'origine de la requête API doit pouvoir s'authentifier dans Looker avec des autorisations d'administrateur. L'un des principaux avantages de l'utilisation de ce point de terminaison est qu'un secret d'intégration n'est pas nécessaire pour l'utiliser. Le point de terminaison 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, la rotation des identifiants API est plus simple que celle d'un secret d'intégration. Plusieurs identifiants de l'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 interrompre le service. Le point de terminaison Create Signed Embed Url
crée également une URL plus courte et plus concise que les exemples de scripts inclus dans notre dépôt d'exemples de scripts d'URL d'intégration signée.
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 un nom d'utilisateur et un mot de passe, ou éventuellement via un fournisseur d'identité (IdP).
- Si l'utilisateur parvient à se connecter à 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 vers 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é à votre application avec des données en temps réel.
Intégrer le SDK
Le SDK d'intégration de Looker est un ensemble de fonctions JavaScript empaquetées pour faciliter l'intégration de contenu Looker pour les développeurs. 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 plus à la créer ni à la gérer. Le SDK Embed est réservé aux applications de navigateur, mais il inclut une fonction utilitaire d'assistance permettant de générer l'URL signée. Ils sont tous deux disponibles en TypeScript et en Python. Même si le SDK Embed est inclus dans le registre nmpjs, vous n'avez pas besoin d'utiliser de serveur Web Node.js.
Le SDK d'intégration présente une fonctionnalité unique : il vous permet également d'exploiter les composants Looker, un ensemble de blocs de code réutilisables 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 suppriment une grande partie du travail de votre équipe de développement. L'un des principaux exemples est l'annulation des clics. Le SDK d'intégration utilise l'API MessageChannel
plutôt que postMessage
. Cela signifie que deux scripts exécutés sur la même page peuvent communiquer entre eux à l'aide de l'API postMessage
. Ainsi, d'autres fonctions peuvent communiquer avec l'iFrame ou communiquer avec l'iFrame.
Voici un exemple de workflow pour le SDK Embed :
- L'utilisateur tente de se connecter à votre application.
- Si la connexion aboutit, ses informations sont envoyées à l'utilitaire d'assistance
Node.js
sur le serveur qui exécute l'application. Cette opération transmet les informations requises à 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 élément span ou 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.
Quelle est la meilleure méthode ?
La méthode employée par votre équipe de développement dépend de votre cas d'utilisation spécifique:
Comme indiqué dans le diagramme précédent, la méthode de point de terminaison Create Signed Embed Url
et la méthode du SDK d'intégration décrites précédemment permettent à votre équipe de développement de se concentrer sur le produit plutôt que sur l'intégration de Looker à l'application. Les deux méthodes permettent également d'offrir 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 comme suit :
- Il ne nécessite pas de secret d'intégration.
- Le processus est semblable à celui utilisé pour d'autres API REST.
- Le point de terminaison doit être appelé côté serveur.
La méthode du SDK Embed offre les fonctionnalités 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 de 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 de haut niveau ou les comportements inattendus. Vous pouvez ouvrir une demande d'assistance dans le Centre d'aide de Looker en cliquant sur Contact Us (Nous contacter).
Pour en savoir plus, consultez le post destiné à la communauté sur les outils d'intégration signés et les ressources de dépannage.