Looker es excelente para hacer que los datos sean accesibles para todos tus usuarios o clientes. Como nos gusta decir, Looker ayuda a "democratizar los datos". Puedes permitir que tus usuarios vean los resultados de las consultas por su cuenta sin que un analista tenga que crear un panel de forma manual. Con Looker, tus usuarios pueden incluso realizar sus propios análisis. Una forma de hacerlo es usar la función de incorporación firmada de Looker. En esta página, se describen dos métodos diferentes para implementar la incorporación firmada: la API de Looker y el kit de desarrollo de software (SDK) de incorporación de Looker.
Supongamos que deseas integrar los resultados de las búsquedas en la aplicación o los sistemas internos de tu empresa, y no quieres tener que proporcionarles credenciales de Looker a todos tus usuarios. Esto se puede lograr con la función de incorporación firmada de Looker. Esto se diferencia de la referencia general a los flujos de trabajo de SSO, como LDAP o SAML, que también se pueden integrar en tu instancia de Looker.
El embed firmado indica que, una vez que se crea la URL de incorporación y se envía la solicitud desde el navegador, se inicia la sesión de Looker del usuario y este accede. Estas URLs están firmadas y solo se pueden usar una vez. Estas URLs crean elementos iframe que permiten a los desarrolladores incorporar contenido, como Exploraciones, Looks y paneles, en el sitio web o la aplicación de tu empresa. Cuando se usa la URL, si el usuario no tiene una cuenta existente, se creará una para él en función de los parámetros que se pasen a la URL.
Los desarrolladores pueden aprovechar la API de Looker o los SDK de la API de Looker para crear estos elementos iframe de forma dinámica. Puedes aplicar temas y personalizar el contenido para que se ajuste a las necesidades de tu empresa o de un grupo específico de usuarios. Para obtener más información sobre el potencial de la incorporación de Looker en tu contenido, aquí tienes una demostración completa con una explicación de cómo se pueden aplicar estos conceptos.
Entonces, ¿cómo empiezo?
Ahora, supongamos que viste la demostración y quieres explorar la posibilidad de agregar estos elementos iframe a tu aplicación. ¿Por dónde deberías comenzar y qué método es adecuado para tu caso de uso?
Looker ofrece varias opciones principales para generar este contenido, que se puede colocar dentro de tu aplicación o sitio web:
- Repositorios de ejemplo de Looker con secuencias de comandos escritas en varios lenguajes de programación (C#, Python, Node.js, Python, Ruby y PHP)
- El extremo
Create Signed Embed Url
incluido en nuestra API de REST, al que se puede acceder a través de solicitudes HTTP o uno de nuestros SDKs - SDK de incorporación de Looker
En general, recomendamos a los clientes el SDK de Embed y el extremo de API de REST en lugar de los ejemplos de secuencias de comandos, ya que nuestros desarrolladores actualizan con frecuencia el SDK y la API de REST, y suelen crear URLs más cortas en comparación con las secuencias de comandos. (Las URLs más cortas son un poco más fáciles de administrar). También hay algunas funciones de seguridad útiles que ofrecen el SDK de Embed y el extremo de API de REST, que se analizan más adelante en esta página.
Supongamos que queremos que el usuario de nuestra app pueda ver un panel de Looker en una página de datos de una aplicación para clientes. Un flujo de trabajo de incorporación común podría verse de la siguiente manera:
- El usuario accede a una aplicación. Pueden usar un servicio SAML o solo un correo electrónico y una contraseña para acceder a la app.
- La aplicación confirma que las credenciales son correctas y el usuario puede acceder al contenido sin problemas.
- Según la respuesta del flujo de trabajo de acceso, la información del usuario se pasa a una función que puede usar una de nuestras secuencias de comandos de ejemplo para crear la URL de incorporación firmada. Estas secuencias de comandos requieren los permisos del usuario, los IDs de grupo, el secreto de incorporación, la URL del host, los atributos del usuario, como el nombre y el apellido, los filtros de acceso, la duración de la sesión y la URL a la que queremos que el usuario pueda acceder. Toda esta información se envía a Looker, y se crea una URL firmada.
- El usuario navega a la página de datos en la aplicación, donde esta URL firmada se coloca en un iframe. Luego, el navegador publica una solicitud en la URL del iframe. El panel se propaga con una experiencia personalizada, y el usuario puede acceder a los datos de Looker dentro de la aplicación.
El extremo de Create Signed Embed Url
Con la API de REST de Looker o uno de los SDKs, un desarrollador puede generar una URL firmada y codificada basada en un conjunto de parámetros. Esta es una solicitud POST. El servidor desde el que se origina la solicitud a la API debe poder autenticarse en Looker con permisos de administrador. Uno de los principales beneficios de usar este extremo es que no se requiere un secreto de incorporación para usarlo, ya que el extremo ya está configurado para recuperar el secreto de incorporación actual. Las llamadas a este extremo tampoco se descuentan de las limitaciones de frecuencia de la API. En general, las credenciales de la API son más fáciles de rotar en comparación con un secreto de incorporación. Se pueden activar varias credenciales de la API 3 al mismo tiempo, pero solo se puede usar un secreto de incorporación a la vez en una instancia. Esto facilita el intercambio de credenciales sin interrupciones del servicio. El extremo Create Signed Embed Url
también crea una URL más corta y concisa en comparación con las secuencias de comandos de ejemplo en nuestro repositorio de ejemplo de secuencias de comandos de URL de incorporación firmada.
A continuación, se muestra un ejemplo de flujo de trabajo que usa el extremo Create Signed Embed Url
:
- El usuario intenta acceder a tu aplicación, por lo general, con una combinación de nombre de usuario y contraseña, o bien a través de un proveedor de identidad (IdP).
- Si accede correctamente a la aplicación, se ejecuta el extremo
Create Signed Embed Url
. Una función creada por tu equipo de desarrollo pasa las credenciales específicas de ese usuario a este extremo, y Looker devuelve una URL firmada a tu servidor. - Es posible que el usuario tenga la opción de hacer clic en una pestaña de datos en la aplicación. Cuando navegan a la pestaña de datos, esta página solicita la URL firmada a tu servidor y la coloca en el iframe de la página.
- El usuario ve un panel de Looker integrado sin problemas en tu aplicación con datos en vivo.
SDK incorporado
El SDK de Embed de Looker es una colección de funciones de JavaScript empaquetadas para que los desarrolladores puedan incorporar contenido de Looker con mayor facilidad. El SDK de Embed te permite agregar contenido de Looker a una página de tu aplicación o sitio web sin tener que crear elementos HTML específicos. El SDK permite a los desarrolladores crear una comunicación segura de punto a punto entre la página HTML y tu contenido de Looker. El SDK de Embed ahora encapsula el iframe, lo que significa que los clientes no tendrán que crear ni administrar el iframe. El SDK de Embed solo es para apps de navegador, pero incluye una función de utilidad auxiliar para generar la URL firmada. Ambos están disponibles en TypeScript y Python. Si bien el SDK de Embed aparece en el registro de nmpjs, no es necesario que uses un servidor web de Node.js.
Una característica única del SDK de Embed es que también te permite aprovechar los componentes de Looker, una colección de bloques de código reutilizables que se crearon para ayudar a implementar el sistema de diseño de Looker.
Otro beneficio del SDK de Embed es la cantidad de funciones prediseñadas que le quitan mucho trabajo a tu equipo de desarrollo. Uno de los principales ejemplos es la cancelación de clics. El SDK de Embed usa la API de MessageChannel
en lugar de postMessage
. Esto significa que dos secuencias de comandos que se ejecutan en la misma página pueden comunicarse entre sí a través de la API de postMessage
. Esto permite que otras funciones se comuniquen con el iframe o que otras funciones se comuniquen con el iframe.
Un ejemplo de flujo de trabajo para el SDK de Embed podría verse así:
- El usuario intenta acceder a tu aplicación.
- Si el acceso es exitoso, su información se envía a la utilidad de ayuda de
Node.js
en el servidor que ejecuta la aplicación. Esto pasa la información requerida a la instancia de Looker y se devuelve una URL firmada. - El usuario navega a la página de datos en la aplicación donde se usa el SDK de Embed para colocar el iframe. Dado que el SDK de Embed está escrito en JavaScript, podemos usar
LookerEmbedSDK.createDashboardWithId
y segmentar un elemento DOM específico (por lo general, un span o un div) en la página para anexar el iframe (URL firmada). - Se carga la página y la URL firmada carga el panel desde la instancia de Looker.
Entonces… ¿cuál es el mejor método?
El método que use tu equipo de desarrollo dependerá de tu caso de uso específico:
Como se muestra en el diagrama anterior, tanto el método del endpoint Create Signed Embed Url
como el método del SDK de Embed que se describieron anteriormente permiten que tu equipo de desarrollo se enfoque en el producto en lugar de cómo Looker se integra con la app. Ambos métodos también permiten experiencias de datos enriquecidas en tu aplicación nativa.
El método del extremo Create Signed Embed Url
difiere del método del SDK de Embed de las siguientes maneras:
- No requiere un secreto de incorporación.
- El proceso es similar al uso de otras APIs de REST.
- Se debe llamar al extremo del servidor.
El método del SDK de Embed tiene las siguientes características:
- Se basa en JavaScript y puede segmentarse para elementos DOM específicos.
- Interactúa con los componentes de Looker para ayudar a diseñar la IU.
- Se integra con funciones de utilidad auxiliares y el desarrollo se puede realizar del lado del cliente.
Si tienes preguntas específicas sobre los requisitos de desarrollo o arquitectura, puedes comunicarte con el equipo de Servicios Profesionales de Looker o con uno de nuestros socios de desarrollo.
Además, nuestro equipo de asistencia al cliente puede ayudarte a resolver cualquier problema de alto nivel o comportamiento inesperado. Para abrir una solicitud de asistencia en el Centro de ayuda de Looker, haz clic en Comunícate con nosotros.
Consulta la publicación de Comunidad sobre las herramientas de incorporación firmadas y los recursos para solucionar problemas para obtener más recursos.