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 tener que pedirle a un analista que cree un panel de forma manual. Con Looker, tus usuarios incluso pueden realizar sus propios análisis. Una forma de hacerlo es con la función de incorporación firmada de Looker. En esta página, se analizan 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.
Digamos que quieres integrar los resultados de las consultas en la aplicación o en los sistemas internos de tu empresa y no quieres proporcionar credenciales de Looker a todos tus usuarios. Esto se puede lograr con la función de incorporación firmada de Looker. Esto es diferente 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.
La incorporación firmada indica que, una vez que se crea la URL incorporada 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 se pueden usar solo una vez. Estas URLs crean iframes 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 le creará una en función de los parámetros que se pasaron a la URL.
Los desarrolladores pueden aprovechar la API de Looker o los SDK de la API de Looker para crear estos iframes de forma dinámica. Puedes aplicar temas y personalizar el contenido para que se adapte a las necesidades de tu empresa o de un grupo específico de usuarios. Para obtener más información sobre el potencial de incorporar Looker en tu contenido, consulta esta demostración completa con una explicación de cómo se pueden aplicar estos conceptos.
Entonces, ¿cómo empiezo?
Supongamos que miraste la demostración y quieres explorar la posibilidad de agregar estos iframes 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 pueden colocar dentro de tu aplicación o sitio web:
- Ejemplos de repositorios de Looker de 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 SDK - SDK de incorporación de Looker
Por lo general, recomendamos el SDK de Embed y el extremo de API de REST a los clientes en lugar de las secuencias de comandos de ejemplo, ya que nuestros desarrolladores actualizan con frecuencia el SDK y la API de REST y, por lo general, crean URLs más cortas en comparación con las secuencias de comandos. (Las URL más cortas son un poco más fáciles de administrar). También existen algunas funciones de seguridad útiles que ofrecen el SDK de incorporación y el extremo de API de REST, que se analizan más adelante en esta página.
Supongamos que queremos que el usuario de la app pueda ver un panel de Looker en una página de datos en la aplicación de un cliente. 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 de SAML o solo un correo electrónico y una contraseña para acceder a la app.
- La aplicación confirma que las credenciales sean correctas y que el usuario pueda acceder correctamente al contenido.
- 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 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 envía una solicitud a 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 que se basa en un conjunto de parámetros. Esta es una solicitud POST. El servidor en 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 incorporado para usarlo; el extremo ya está configurado para recuperar el secreto incorporado actual. Las llamadas a este extremo tampoco se descuentan de las limitaciones de frecuencia de la API. En general, las credenciales de API son más fáciles de rotar en comparación con un secreto de incorporación. Varias credenciales de API 3 pueden estar activas al mismo tiempo, pero solo se puede usar un secreto de incorporación a la vez en una instancia. Esto facilita el cambio de las credenciales sin interrumpir el 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 de nuestro repositorio de secuencias de comandos de URL de incorporación firmadas.
Este es 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 posiblemente 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 se devuelve una URL firmada de Looker 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 navegue a la pestaña de datos, esta página solicitará la URL firmada de tu servidor y la colocará en el iframe de la página.
- El usuario ve un panel de Looker incorporado sin problemas en tu aplicación con datos en vivo.
Cómo incorporar el SDK
El SDK de incorporación de Looker es una colección de funciones de JavaScript empaquetadas para facilitar la incorporación de contenido de Looker a los desarrolladores. El Embed SDK te permite agregar contenido de Looker a una página en tu aplicación o en tu sitio web sin tener que crear elementos HTML específicos. El SDK permite a los desarrolladores crear una comunicación punto a punto segura entre la página HTML y tu contenido de Looker. El SDK de incorporación ahora encapsula el iframe, lo que significa que los clientes no tendrán que crearlo ni administrarlo. El SDK de incorporación es solo 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. Aunque el SDK de incorporación se incluye en el registro nmpjs, no es necesario que uses un servidor web de Node.js.
Una característica única del SDK de incorporación 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 precompiladas que quitan mucho trabajo a tu equipo de desarrollo. Uno de los ejemplos principales es cancelar 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í mediante la API de postMessage
. Esto permite que otras funciones se comuniquen con el iframe o que otras funciones se comuniquen con el iframe.
Un flujo de trabajo de ejemplo para el SDK de Embed podría verse así:
- El usuario intenta acceder a tu aplicación.
- Si el acceso se realiza correctamente, su información se envía a la utilidad de ayuda
Node.js
en el servidor que ejecuta la aplicación. Esto pasa la información requerida a la instancia de Looker y se muestra 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 orientar un elemento del DOM específico (por lo general, un intervalo o un div) en la página para adjuntar el iframe (URL firmada). - Se cargará la página, y la URL firmada cargará el panel desde la instancia de Looker.
Entonces, ¿cuál es el mejor método?
¿Cuál de estos métodos use tu equipo de desarrollo dependerá de tu caso de uso específico?
Como se muestra en el diagrama anterior, el método del extremo Create Signed Embed Url
y 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 en cómo se integra Looker en la app. Ambos métodos también permiten brindar experiencias de datos enriquecidas en tu aplicación nativa.
El método del extremo Create Signed Embed Url
se diferencia 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 Embed SDK tiene las siguientes funciones:
- Se basa en JavaScript y puede apuntar a elementos específicos del DOM.
- Interacciona con los componentes de Looker para ayudar a aplicar diseño a 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. Puedes abrir una solicitud de asistencia en el Centro de ayuda de Looker haciendo clic en Comunícate con nosotros.
Consulta la publicación de Comunidad sobre herramientas de incorporación firmadas y recursos de solución de problemas para obtener recursos adicionales.