Différences entre le SDK Embed et le point de terminaison Create Signed Embed Url

Looker est un excellent moyen de 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 des rapports eux-mêmes sans qu'un analyste n'ait à créer manuellement un tableau de bord ; avec Looker, vos utilisateurs peuvent même effectuer leurs propres analyses. Pour ce faire, vous pouvez par exemple utiliser la fonctionnalité d'intégration signée de Looker. Cette page présente deux méthodes différentes d'implémentation d'une intégration signée : l'API Looker et le kit de développement logiciel (SDK) de Looker intégré.

Imaginons que vous souhaitiez intégrer des rapports dans l'application ou les systèmes internes de votre entreprise sans avoir à fournir les identifiants Looker à tous vos utilisateurs. Pour ce faire, utilisez la fonctionnalité d'intégration signée 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 connectée signifie que, une fois que l'URL d'intégration est créée et que la requête est envoyée par le navigateur, la session Looker de l'utilisateur a démarré et l'utilisateur 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 du contenu tel 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 et que 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 afin de répondre aux besoins de votre entreprise ou d'un groupe d'utilisateurs spécifique. Pour en savoir plus sur les possibilités d'intégration de Looker dans votre contenu, regardez une démonstration complète expliquant comment appliquer ces concepts.

Alors, par où commencer ?

Imaginons maintenant que vous ayez regardé la démonstration et que vous souhaitiez découvrir comment ajouter ces iFrames à votre application. Par où commencer, et quelle méthode convient le mieux à votre cas d'utilisation ?

Looker propose plusieurs options principales pour générer ce contenu, que vous pouvez placer dans votre application ou votre site Web:

  • Exemples de dépôts Looker de scripts é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 Embed 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 ils 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 offrent également des fonctionnalités de sécurité utiles, qui sont abordées plus loin sur cette page.

Supposons que nous voulons que l'utilisateur de l'application puisse consulter un tableau de bord depuis Looker sur la page de données d'une application client. Voici un exemple de workflow d'intégration courant:

  1. 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.
  2. L'application confirme que les identifiants sont corrects et que l'utilisateur peut accéder au contenu.
  3. En fonction de la réponse du workflow de connexion, les informations sur 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 requièrent les autorisations de l'utilisateur, les ID de groupe, le secret intégré, 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.
  4. L'utilisateur accède à la page de données de l'application, où cette URL signée est placée dans un iFrame. Ensuite, le navigateur traite 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 encodée et signée basée sur un ensemble de paramètres. Il s'agit d'une requête POST. Le serveur d'où provient la requête API doit pouvoir s'authentifier auprès de Looker avec des autorisations d'administrateur. L'un des principaux avantages de l'utilisation de ce point de terminaison est qu'aucun secret d'intégration n'est requis 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 d'API est plus facile 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. Il est ainsi plus facile de remplacer les identifiants sans interruption de service. Le point de terminaison Create Signed Embed Url crée également une URL plus courte et plus concise par rapport aux exemples de scripts de notre dépôt d'exemples de scripts d'URL d'ingestion signée.

Voici un exemple de workflow qui utilise le point de terminaison Create Signed Embed Url:

  1. L'utilisateur tente d'accéder à votre application, le plus souvent avec une combinaison de nom d'utilisateur et de mot de passe, ou via un fournisseur d'identité (IdP).
  2. S'ils parviennent à 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 par Looker à votre serveur.
  3. 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.
  4. L'utilisateur voit un tableau de bord Looker intégré de manière transparente à votre application avec des données en temps réel.

SDK Embed

Le SDK Embed 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 Embed encapsule désormais l'iFrame, ce qui signifie que les clients n'ont plus à le créer ni à le gérer. Le SDK Embed n'est destiné qu'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 dans TypeScript et Python. Bien que le SDK Embed figure dans le registre nmpjs, vous n'avez pas besoin d'utiliser un serveur Web Node.js.

L'une des fonctionnalités uniques du SDK Embed est qu'il vous permet également d'exploiter les composants Looker, un ensemble de blocs de code réutilisables créés pour faciliter la mise en œuvre du système de conception de Looker.

Autre avantage du SDK Embed : le nombre de fonctions prédéfinies qui demandent à votre équipe de développement une grande partie du travail. L'annulation des clics est l'un des principaux exemples. Le SDK Embed utilise l'API MessageChannel au lieu de 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.

Voici un exemple de workflow pour le SDK Embed:

  1. L'utilisateur tente de se connecter à votre application.
  2. Si la connexion aboutit, leurs informations 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.
  3. L'utilisateur accède à la page de données de l'application où le SDK Embed 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 segment span ou div) sur la page pour y ajouter l'iFrame (URL signée).
  4. 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:

Diagramme de Venn mettant en évidence les similitudes et les différences entre les méthodes Create Signed Embed Url et Embed SDK.

Comme indiqué dans le schéma précédent, les méthodes du point de terminaison Create Signed Embed Url et du SDK Embed décrits 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 de proposer des expériences enrichies en termes de données dans votre application native.

La méthode du point de terminaison Create Signed Embed Url diffère de la méthode du SDK Embed à différents égards:

  • Il ne nécessite pas de code secret d'intégration.
  • Le processus est semblable à l'utilisation d'autres API REST.
  • Le point de terminaison doit être appelé côté serveur.

La méthode du SDK Embed présente les fonctionnalités suivantes:

  • Il est basé sur JavaScript et peut cibler des éléments DOM spécifiques.
  • Il interagit avec les composants de 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.

En outre, notre équipe d'assistance peut vous aider à résoudre tout problème général ou tout comportement inattendu. Vous pouvez envoyer une demande d'assistance dans le Centre d'aide de Looker en cliquant sur Nous contacter.

Consultez le post destiné à la communauté Outils d'intégration signés et ressources de dépannage pour obtenir des ressources supplémentaires.