La incorporación firmada es una forma de presentarles a los usuarios imágenes, visualizaciones, exploraciones, paneles o paneles de LookML incorporados privados sin que tengan que acceder a Looker por separado. En cambio, los usuarios se autenticarán a través de tu propia aplicación.
La incorporación firmada funciona creando una URL especial de Looker que usarás en un iframe. La URL contiene la información que deseas compartir, el ID del usuario en tu sistema y los permisos que quieres que tenga el usuario. Luego, firmarás la URL con una clave secreta que te proporcionará Looker.
Para la incorporación pública, consulta la sección Incorporación pública con etiquetas iframe de la página de documentación Incorporación, importación y uso compartido públicos de Looks.
Antes de que puedas usar el embedding firmado en tu instancia de Looker, un administrador de Looker debe habilitar el embedding firmado en el panel Administrador de Looker y crear una clave secreta de embedding. Para obtener instrucciones, consulta la página de documentación Comienza a usar la incorporación: habilita la incorporación firmada.
Alojamiento adecuado para la incorporación firmada
Algunos navegadores (por ejemplo, Safari o los navegadores con extensiones instaladas que bloquean los anuncios o las cookies de seguimiento) tienen de forma predeterminada una política de cookies que bloquea las cookies de terceros. Cuando se habilita la función Incrustación sin cookies, los navegadores que bloquean las cookies de terceros pueden autenticar a los usuarios en el iframe incorporado en diferentes dominios. La autenticación de la incorporación sin cookies requiere configuración del servidor. Consulta la página de documentación de Incorporación sin cookies para ver ejemplos de configuración.
Si la función Incrustación sin cookies no está habilitada, Looker usa cookies para la autenticación de usuarios. En este caso, no es posible intentar autenticar el iframe incorporado en todos los dominios en los navegadores que bloquean las cookies de terceros (a menos que el usuario modifique la configuración de privacidad de las cookies de su navegador). Por ejemplo, si deseas incorporar información en https://mycompany.com, debes asegurarte de que Looker comparta el mismo dominio, como https://analytics.mycompany.com. En este caso, si Looker aloja tu instancia, comunícate con el equipo de asistencia de Looker para configurar la configuración de DNS necesaria que habilite el uso del dominio personalizado. Esto permitirá que Looker comparta el mismo dominio que la aplicación integrada y utilice cookies propias, que se aceptan de forma predeterminada en todos los navegadores.
Si tienes una instancia de Looker alojada por el cliente, asegúrate de que la aplicación que usará la incorporación firmada use el mismo dominio que tu instancia de Looker.
Controlar la visibilidad del cliente con un sistema cerrado.
En una configuración de incorporación firmada, es común que los usuarios de Looker presenten datos a sus propios clientes y que tengan clientes de diferentes empresas o grupos que no deberían conocerse entre sí. En este caso, para proteger la información privada de tus clientes, te recomendamos que configures Looker como un sistema cerrado, también llamado instalación de múltiples inquilinos. En un sistema cerrado, el contenido se aísla para evitar que los usuarios de diferentes grupos se conozcan. Por este motivo, te recomendamos que habilites la opción Sistema cerrado antes de otorgar acceso a tu instancia a usuarios externos.
Para obtener más información, consulta las páginas de documentación Diseña y configura un sistema de niveles de acceso y Prácticas recomendadas de seguridad para la analítica integrada.
Generando la URL de inserción firmada
Existen varias formas de generar la URL de incorporación firmada. Puedes utilizar uno de estos métodos:
Puedes generar una URL de incorporación firmada con la opción Obtener URL de incorporación en el menú de tres puntos del panel de un panel o en el menú de ajustes de acciones de Explorar de una vista o una exploración.
Utilice el punto final API de Looker Create Signed Embed Url, como se describe más adelante en este documento.
Usa el SDK de Embed de Looker.
Codifica la URL de incorporación firmada. Para crear la URL adecuada, deberás escribir código para poder codificar correctamente la URL con tu clave secreta y generar otros elementos relacionados con la seguridad. Puedes encontrar varios scripts de ejemplo en el repositorio de GitHub de Looker Embed examples. En las siguientes secciones, se explica la información que deberás proporcionar a esas secuencias de comandos, así como la forma de compilar una URL de incorporación firmada sin usar una secuencia de comandos.
Cómo codificar manualmente la URL de incorporación firmada
Para codificar la URL de inserción firmada, primero recopile la información necesaria de Looker y luego cree la URL de inserción firmada.
Recopila la información necesaria de Looker
Como punto de partida para crear tu URL, primero deberás determinar toda la información que se deberá incluir. Necesitarás:
Incorporar URL
Recupera la URL de la vista, la exploración, la visualización de la consulta o el panel que deseas incorporar. Luego, quita el dominio y coloca /embed antes de la ruta de acceso, de la siguiente manera:
| Elemento | Patrón de URL normal | Incorporar URL |
|---|---|---|
| Vista | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
| Explorar | https://instance_name.looker.com/explore/my_model/my_explore |
/embed/explore/my_model/my_explore |
| Visualización de la consulta | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12Los 22 caracteres alfanuméricos que siguen al parámetro qid= en la URL de Explorar forman el Query.client_id. El valor Query.client_id es una cadena única que representa la consulta y la configuración de visualización.Para insertar una visualización de consulta, recupere el valor Query.client_id de la visualización de consulta y copie Query.client_id en su URL de inserción.Puedes usar la IU de Explorar de Looker para crear una consulta con una visualización compatible y copiar el valor de Query.client_id del parámetro qid=, o bien puedes recuperar el valor de Query.client_id con la API de Looker, por ejemplo, con el método Get Query. |
/embed/query-visualization/Query.client_id |
| Panel definido por el usuario | https://instance_name.looker.com/dashboards/1Incluye los valores de los filtros del panel ocultos, el parámetro hide_filter en la URL del panel. |
|
| panel de LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
| Conversational Analytics | Para la página de conversaciones: https://instance_name.looker.com/conversationsPara la página de agentes: https://instance_name.looker.com/agentsPara una conversación específica: https://instance_name.looker.com/conversations/conversation_idPara obtener más información, consulte la página de documentación Embedding Conversational Analytics. |
/embed/conversations/embed/agents/embed/conversations/c9f370ac830b4669aeb494396422004c |
Permisos
Un conjunto de permisos define lo que puede hacer un usuario o un grupo. Los permisos se pueden aplicar de dos maneras:
- Específico del modelo: Este tipo de permiso se aplica solo a los conjuntos de modelos que forman parte del mismo rol.
- A nivel de la instancia: Este tipo de permiso se aplica a toda la instancia de Looker. Los usuarios incorporados con permisos para toda la instancia pueden realizar ciertas funciones en toda la instancia de Looker, pero no pueden acceder al contenido basado en modelos que no se incluyen en el conjunto de modelos de su rol.
Determina los permisos que quieres que tenga el usuario. En la siguiente lista, se muestran todos los permisos disponibles para la incorporación firmada. Los permisos que no se encuentran en la siguiente lista no son compatibles con la incorporación firmada:
| Permiso | Depende de | Tipo | Definición |
|---|---|---|---|
access_data |
Ninguno | Específico del modelo | Permite que el usuario acceda a los datos (necesario para ver Looks, paneles o Explorar) |
see_lookml_dashboards |
access_data |
Específico del modelo | Permite al usuario ver los paneles de LookML. Este permiso es obligatorio incluso si un usuario tiene acceso de Visualización a la carpeta del panel. |
see_looks |
access_data |
Específico del modelo | Permite que el usuario vea Looks |
see_user_dashboards |
see_looks |
Específico del modelo | Permite que el usuario vea los paneles definidos por el usuario y explore carpetas desde una incorporación. |
explore |
see_looks |
Específico del modelo | Permite al usuario ver las páginas de Explorar. |
create_table_calculations |
explore |
A nivel de la instancia | Necesario para crear cálculos basados en tablas en una Exploración |
create_custom_fields |
explore |
A nivel de la instancia | Necesario para crear campos personalizados en una exploración |
can_create_forecast |
explore |
A nivel de la instancia | Permite a los usuarios crear o editar previsiones en las visualizaciones. |
save_content |
see_looks |
A nivel de la instancia | Permite que el usuario realice y guarde cambios en los Looks y los paneles |
send_outgoing_webhook |
see_looks |
Específico del modelo | Permite que el usuario programe la entrega de contenido de Looker a un webhook arbitrario |
send_to_s3 |
see_looks |
Específico del modelo | Permite que el usuario programe la entrega de contenido de Looker a un bucket de Amazon S3 |
send_to_sftp |
see_looks |
Específico del modelo | Permite al usuario programar entregas de contenido de Looker a un servidor SFTP. |
schedule_look_emails |
see_looks |
Específico del modelo | Permite que el usuario programe la entrega de contenido de Looker a su propio correo electrónico (si se configura con un atributo del usuario llamado "correo electrónico") o a una dirección de correo electrónico que se encuentre dentro de las limitaciones establecidas por la lista de entidades permitidas de dominios de correo electrónico. Permite que el usuario con permisos de create_alerts envíe notificaciones de alerta a una dirección de correo electrónico que se encuentre dentro de las limitaciones establecidas por la lista de entidades permitidas de dominios de correo electrónico. |
schedule_external_look_emails |
schedule_look_emails |
Específico del modelo | Permite que el usuario programe la entrega de contenido de Looker a cualquier dominio de correo electrónico. Permite que el usuario con permisos de create_alerts envíe notificaciones de alerta a cualquier dominio de correo electrónico. |
send_to_integration |
see_looks |
Específico del modelo | Permite al usuario entregar contenido de Looker a los servicios de terceros integrados con Looker a través de Looker Action Hub. Este permiso no está relacionado con las acciones de datos. |
schedule_without_limit |
see_looks |
Específico del modelo | Se agregó en la versión 26.4 Cuando se combina con al menos otro permiso que permite a un usuario entregar contenido de Looker, este permiso permite a los usuarios entregar Looks o Explorar que envían todas las filas de datos. Este permiso hace visible la opción Todos los resultados en el Programador de Looker para Looks y Explores. |
create_alerts |
see_looks |
A nivel de la instancia | Permite al usuario crear alertas en los mosaicos del panel para recibir notificaciones cuando se cumplen o superan las condiciones especificadas. Los usuarios pueden editar, duplicar y borrar sus propias alertas y las alertas Públicas de otros usuarios. Si el espacio de trabajo de Slack del usuario no está conectado a la instancia de Looker, el usuario no podrá crear alertas que envíen notificaciones a Slack. |
download_with_limit |
see_looks |
A nivel de la instancia | Permite al usuario descargar los resultados de una consulta con un límite aplicado. |
download_without_limit |
see_looks |
A nivel de la instancia | Permite al usuario descargar los resultados de una consulta sin límite alguno. |
see_sql |
see_looks |
Específico del modelo | Permite que el usuario vea el código SQL de las consultas y los errores de SQL que se producen cuando se ejecutan las consultas. |
clear_cache_refresh |
access_data |
Específico del modelo | Los usuarios pueden borrar la caché y actualizar los paneles integrados, los paneles heredados, los mosaicos del panel, las apariencias y las exploraciones. |
see_drill_overlay |
access_data |
Específico del modelo | Permite que el usuario desglosar sin necesidad de ir a la página Explorar completa. |
manage_spaces |
Ninguno | A nivel de la instancia | Habilita el navegador de contenido para que los usuarios puedan crear, copiar, mover y borrar carpetas. Los usuarios también necesitarán el permiso de acceso al contenido Administrar acceso, Editar para la carpeta o, en el caso de crear una carpeta nueva, para la carpeta principal. |
embed_browse_spaces |
Ninguno | A nivel de la instancia |
Habilita el navegador de contenido para que un usuario pueda explorar carpetas desde una incorporación. Cualquier usuario incorporado al que se le otorgue el permiso embed_browse_spaces tendrá acceso a una carpeta personal incorporada y a la carpeta Compartida de tu organización, si existe.
Se recomienda el permiso embed_browse_spaces para los usuarios que tienen el permiso save_content, de modo que puedan explorar carpetas cuando seleccionen dónde guardar el contenido.
Para ver el contenido de las carpetas, el usuario también necesita los permisos see_looks, see_user_dashboards y see_lookml_dashboards.
El permiso embed_browse_spaces es necesario para los usuarios integrados que quieran marcar paneles o Looks como favoritos, ya que marcar contenido como favorito requiere acceso a la carpeta Favoritos.
|
embed_save_shared_space |
Ninguno | A nivel de la instancia |
Permite al usuario que también tiene el permiso save_content navegar a la carpeta Compartida de la organización, si existe, desde el cuadro de diálogo Guardar. Los usuarios que tengan el permiso save_content, pero no el permiso embed_save_shared_space, solo tendrán la opción de guardar contenido en su carpeta de incorporación personal.
El permiso embed_save_shared_space no anula los permisos de acceso al contenido. Por ejemplo, para permitir que un usuario guarde contenido en la carpeta Compartido, debe tener acceso de Administrar acceso, Editar a esa carpeta. Además, la falta del permiso embed_save_shared_space no impide que un usuario que tenga el permiso save_content y acceso de Administrar acceso, Editar a la carpeta Compartida guarde contenido allí si tiene otra forma de navegar a la carpeta Compartida, por ejemplo, usando la opción Explorar desde aquí de un panel integrado.
|
gemini_in_looker |
Ninguno | Específico del modelo | Este permiso es el único que se incluye en el rol predeterminado de Gemini. Este permiso otorga a los usuarios la capacidad de realizar las tareas asociadas con cualquiera de las funciones de Gemini en Looker que se habilitan desde la página Gemini en Looker en el panel Administrador. Es posible que se requieran permisos adicionales para algunas tareas. |
chat_with_agent |
gemini_in_looker |
Específico del modelo | Se agregó el 25.18 Los usuarios de Conversational Analytics pueden chatear con agentes de datos basados en los datos de hasta cinco Exploraciones de Looker o con agentes de datos de paneles. Se requieren permisos adicionales para chatear con los agentes de datos del panel. |
chat_with_explore |
chat_with_agent |
Específico del modelo | Se agregó en la versión 25.18 Los usuarios de Conversational Analytics pueden chatear con un Explorador de Looker si también tienen permisos adicionales obligatorios. |
save_agents |
chat_with_explore |
Específico del modelo | Se agregó la versión 25.18 Los usuarios de Conversational Analytics pueden crear, editar, borrar y compartir agentes de datos en paneles o en Exploraciones. Para editar, eliminar o compartir un agente de datos creado por otro usuario, los usuarios deben tener un rol que contenga este permiso en cada modelo utilizado por el agente, así como permisos adicionales requeridos y Administrar acceso, editar acceso al agente. |
admin_agents |
gemini_in_looker |
Específico del modelo | Agregado 25.18 Para usar con la API de Conversational Analytics y Conversational Analytics integrado, los usuarios pueden crear, editar, compartir y eliminar agentes de datos. Cuando un usuario crea un agente de datos, se le otorga automáticamente acceso de Administrar acceso, Editar agente de datos. Con este permiso, no es necesario que se le otorgue acceso al contenido del agente de datos a un usuario para editar, borrar o compartir un agente de datos que haya creado otro usuario. |
Acceso al modelo
Determinar a qué modelos de LookML debe tener acceso el usuario. Esta será una lista de nombres de modelos.
Atributos de usuario
Determina qué atributos de usuario debería tener el usuario, si es que tiene alguno. Necesitarás el nombre del atributo de usuario de Looker, así como el valor que el usuario debe tener para ese atributo.
Grupos
Determinar a qué grupos debe pertenecer el usuario, si corresponde. Necesitarás los IDs de los grupos, no sus nombres. Si agregas un usuario de Looker integrado firmado a un grupo de Looker, podrás administrar el acceso de ese usuario a las carpetas de Looker. Los usuarios de la función de incorporación firmada tendrán acceso a las carpetas que se compartan con los miembros de sus grupos de Looker.
También puedes usar el parámetro external_group_id para crear un grupo externo a los grupos habituales de Looker. En ese caso, los usuarios de la incorporación firmada con el mismo external_group_id tendrán acceso a una carpeta compartida llamada “Grupo”, que es exclusiva del grupo externo.
Roles incorporados
Los parámetros permissions y models crean un role para el usuario incrustado. Este rol aparece como un "Rol incrustado" en la página Usuarios en la sección Administración de Looker. Si todos los parámetros permissions, models y group_ids se especifican en la URL de incorporación, el rol incorporado es aditivo a cualquier rol ya asignado a los grupos que se indican en el parámetro group_ids. Esto es igual que los roles estándar, ya que todos los roles en Looker son aditivos.
Por ejemplo, supongamos que tienes un grupo existente en Looker con el ID de grupo 1, y ese grupo ya tiene el permiso explore para un modelo llamado model_one, y creas una URL de incorporación con los siguientes parámetros:
group_ids=["1"]permissions=["access_data","see_looks"]models=["model_two"]
En ese caso, el usuario incrustado heredará la capacidad de ver y explorar los datos en model_one, y el rol incrustado creado con los parámetros anteriores también otorgará la capacidad de ver los datos en model_two.
Cómo crear la URL de incorporación
Una URL de inserción firmada tiene el siguiente formato:
https://HOST/login/embed/URL INTEGRADA?PARAMETERS&signature=SIGNATURE
Host
El host es la ubicación en la que se aloja tu instancia de Looker. Por ejemplo, analytics.mycompany.com. Asegúrese de incluir el número de puerto si no ha habilitado el reenvío de puertos, como por ejemplo analytics.mycompany.com:9999.
Incorporar URL
La URL de inserción se determinó previamente. Tendrá un formato como el siguiente:
/embed/looks/4/embed/explore/my_model/my_explore/embed/query-visualization/Query.client_id/embed/dashboards/1o/embed/dashboards-legacy/1/embed/dashboards/my_model::my_dashboardo/embed/dashboards-legacy/my_model::my_dashboard
Esto significa que el patrón /embed//embed/ aparecerá en tu URL final, lo cual es correcto.
Si está utilizando eventos JavaScript incrustados asegúrese de agregar el parámetro embed_domain (el dominio donde se está utilizando el iframe) al final de la URL de incrustación, como se muestra a continuación:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
El parámetro embed_domain se agrega a la URL de incorporación antes de la codificación de URL. Si tu URL de incorporación ya contiene parámetros de consulta de contenido (como valores de filtro), agrega el parámetro embed_domain con un signo et (&)&:
/embed/looks/4?filter_name=value
/embed/looks/4?filter_name=value&embed_domain=https://mywebsite.com
Si está utilizando el SDK Embed asegúrese de agregar el parámetro embed_domain y también incluir sdk=2 al final de la URL de incrustación, como se muestra a continuación:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2
El parámetro sdk=2 permite a Looker identificar que el SDK está presente y puede aprovechar las funciones adicionales que proporciona el SDK. El SDK no puede agregar este parámetro por sí mismo porque forma parte de la URL firmada.
Parámetros
Los siguientes parámetros de URL se utilizan para especificar la información necesaria para la inserción firmada:
| Parámetro | Valor predeterminado | Descripción | Tipo de datos | Ejemplo |
|---|---|---|---|---|
nonce |
Valor obligatorio | Cualquier cadena aleatoria que desees, pero no se puede repetir en el plazo de una hora y debe tener menos de 255 caracteres.Esto evita que un atacante vuelva a enviar la URL de un usuario legítimo para recopilar información a la que no debería tener acceso. | Cadena JSON | "22b1ee700ef3dc2f500fb7" |
time |
Valor obligatorio | Es la hora actual como marca de tiempo de UNIX. | Número entero | 1407876784 |
session_length |
Valor obligatorio | Cantidad de segundos que el usuario debe permanecer conectado a Looker, entre 0 y 2,592,000 segundos (30 días). | Número entero | 86400 |
external_user_id |
Valor obligatorio | Es un identificador para cada usuario de la aplicación que incorpora Looker. Looker usa external_user_id para diferenciar a los usuarios de la integración firmada, por lo que cada usuario debe tener un ID único asignado.Puedes crear un external_user_id para un usuario con cualquier cadena que desees, siempre y cuando sea única para ese usuario. Cada ID está asociado a un conjunto de permisos, atributos del usuario y modelos. Un solo navegador solo puede admitir una external_user_id, o sesión de usuario, a la vez. No se pueden realizar cambios en los permisos ni en los atributos de un usuario durante la sesión.Por motivos de seguridad, asegúrate de no usar el mismo external_user_id en diferentes sesiones de incorporación para diferentes usuarios interactivos y de no usar el mismo external_user_id para un solo usuario que tenga diferentes permisos, valores de atributos del usuario o acceso al modelo.Usar el mismo external_user_id para varios usuarios o para el mismo usuario con varios permisos, atributos del usuario o conjuntos de modelos puede hacer que los datos sean visibles para los usuarios que, de otro modo, no tendrían acceso a ellos. |
String de JSON | "user-4" |
permissions |
Valor obligatorio | Es la lista de permisos que debe tener el usuario.Consulta la sección Permisos en esta página para ver la lista de permisos permitidos. | Arreglo de strings | [ "access_data", "see_looks"] |
models |
Valor obligatorio | La lista de nombres de modelos a los que el usuario debería tener acceso. | Arreglo de strings | [ "model_one", "model_two"] |
group_ids |
[] | Es la lista de grupos de Looker a los que debe pertenecer el usuario, si corresponde. Usa IDs de grupo en lugar de nombres de grupo. | Arreglo de strings | ["4", "3"] |
external_group_id |
"" | Es un identificador único del grupo al que pertenece el usuario en la aplicación que incorpora Looker.Los usuarios que tienen permiso para guardar contenido y que comparten un ID de grupo externo pueden guardar y editar contenido en una carpeta compartida de Looker llamada "Group". El parámetro external_group_id es el único método disponible para crear grupos externos de usuarios incorporados. No existe ninguna forma de configurar grupos de usuarios externos integrados desde la interfaz de usuario de Looker.La longitud del external_group_id no debe superar los 81 caracteres. Se crea una carpeta correspondiente para el grupo, y los nombres de las carpetas tienen un límite de 100 caracteres. El nombre de la carpeta tiene como prefijo "Embed Shared Group ", por lo que el external_group_id está restringido a 81 caracteres para mantenerlo dentro del límite de 100 caracteres o menos. |
String de JSON | "Accounting" |
user_attributes |
{} | La lista de atributos de usuario que el usuario debería tener, si los hubiera. Contiene una lista de nombres de atributos de usuario seguidos del valor del atributo de usuario.Si tu modelo de LookML está localizado, puedes usar el atributo de usuario locale en la URL de la integración para especificar un idioma para la integración. Por ejemplo, si se incluye el parámetro user_attributes { "locale" : "fr_FR" }, el iframe incorporado se cargará en francés. |
Hash de cadenas | { "vendor_id" : "17", "company" : "xactness"} |
access_filters |
Valor obligatorio | En Looker 3.10, se quitó este parámetro, pero sigue siendo obligatorio en la URL. Utilice access_filters con un marcador de posición vacío, por ejemplo access_filters={}. |
Marcador de posición vacío | {} |
first_name |
"" | El nombre del usuario. Si se deja en blanco, first_name conservará el valor de la última solicitud, o será "Incrustar" si nunca se ha establecido un nombre de pila. |
String de JSON | "Alice" |
last_name |
"" | El apellido del usuario. Si se deja en blanco, last_name conservará el valor de la última solicitud o será "Embed" si nunca se estableció un apellido. |
String de JSON | "Jones" |
user_timezone |
"" | Si ha habilitado Zonas horarias específicas del usuario, establece el valor de la opción Zona horaria del visor en el menú desplegable Zona horaria en el Look o panel integrado. Este parámetro no cambia directamente la zona horaria en la que se muestra el contenido. El usuario deberá seleccionar una zona horaria en el menú desplegable.Consulta los valores válidos en la página de documentación de Referencia de zona horaria para la incorporación firmada.Consejo del equipo de chat: Si quieres que tu contenido incrustado se adapte por defecto a la zona horaria del espectador, utiliza uno de los siguientes métodos:?query_timezone=user_timezone a la URL de incorporación. Por ejemplo:/embed/dashboards/1?query_timezone=user_timezone |
Cadena JSON o nulo | "US/Pacific"- o -null |
force_logout_login |
Valor obligatorio | Si un usuario normal de Looker ya accedió a Looker y ve un elemento incorporado firmado, puedes elegir entre las siguientes opciones:1) Debe ver el elemento con sus credenciales actuales.o2) Deben cerrar sesión y volver a iniciarla con las credenciales de inserción firmadas. | Booleano (verdadero o falso) | true |
ca_chat |
true |
Si habilitaste Conversational Analytics y la función Enable Dashboard Agents, establece si el panel de conversación del agente del panel está visible para los usuarios incorporados. Si es true, el |
Booleano (verdadero o falso) | true |
Firma
Looker utiliza la firma para verificar que se haya utilizado la clave secreta de inserción correcta para generar la firma en la URL de inserción y que los parámetros de la URL de inserción no hayan cambiado. Si el secreto de la incorporación o los parámetros de la URL son diferentes o cambiaron, la firma no coincidirá y se rechazará la autenticación.
Como resultado, la firma en la URL de incorporación proporciona una prueba criptográficamente sólida de que la URL de incorporación no se modificó durante el tránsito y de que la creó un tercero de confianza que posee la clave secreta de incorporación.
Para generar la firma, deberá seguir estos pasos.
- Recopila los siguientes valores de parámetros en este orden:
- Anfitrión, seguido de
login/embed/(por ejemplo,analytics.mycompany.com/login/embed/) - Incorporar URL
- Nonce
- Hora actual
- Duración de la sesión
- ID de usuario externo
- Permisos
- Modelos
- IDs de grupo
- ID del grupo externo
- Atributos de usuario
- Filtros de acceso (requiere un marcador de posición vacío)
- Visibilidad del agente de datos del panel de Conversational Analytics
- Anfitrión, seguido de
- Formatea todos los valores que no sean Host y URL de incorporación como JSON
- Concatenar los valores con saltos de línea (
\n) - Firma la cadena concatenada con HMAC-SHA1 utilizando tu clave secreta de incrustación de Looker.
Codificación
El último paso es codificar la URL.
Antes de codificar la URL, una URL de incorporación con el formato adecuado que use todos los parámetros posibles podría verse de la siguiente manera:
https://analytics.mycompany.com/login/embed//embed/dashboards/1?
nonce="22b1ee700ef3dc2f500fb7"&
time=1407876784&
session_length=86400&
external_user_id="user-4"&
permissions=["access_data","see_user_dashboards","see_looks"]&
models=["model_one","model_two"]&
group_ids=[4,3]&
external_group_id="Allegra K"&
user_attributes={"vendor_id":"17","company":"xactness"}&
access_filters={}&
ca_chat=false&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Como se indicó anteriormente, es correcto que /embed//embed/ aparezca en su URL.
Después de codificar la URL, se vería así:
https://analytics.mycompany.com/login/embed/%2embed%2Fdashboards%2F1?
nonce=%2222b1ee700ef3dc2f500fb7&%22&
time=1407876784&
session_length=86400&
external_user_id=%22user-4%22&
permissions=%5B%22access_data%22%2C%22see_user_dashboards%22%2C%22see_looks%22%5D&
models=%5B%22model_one%22%2C%22model_two%22%5D&
group_ids=%5B4%2C3%5D&
external_group_id=%22Allegra%20K%22&
user_attributes=%7B%22vendor_id%22%3A%2217%22%2C%22company%22%3A%22xactness%22%7D&
access_filters%7B%7D%26%0A
ca_chat=false&
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Utilizando el extremo de API Crear URL de incrustación firmada
La API de Looker incluye el punto final Create Signed Embed Url, que toma un conjunto de parámetros de incrustación firmados que incluyen la URL del contenido que desea incrustar y devuelve una URL firmada completa, codificada y criptográficamente.
Para usar este extremo de API desde un servidor web, el servidor web debe poder autenticarse en la API de Looker con privilegios de administrador. El dominio del servidor web también debe aparecer en la lista de entidades permitidas de dominios incorporados.
También puedes usar el Explorador de APIs para generar una URL firmada que use este extremo. Puedes instalar el Explorador de APIs en tu instancia de Looker desde Looker Marketplace. Una vez generada, la URL firmada se debe copiar exactamente y solo se puede usar una vez. De lo contrario, fallará. El Explorador de API también resulta útil para generar una URL firmada y compararla con una URL firmada creada manualmente con fines de resolución de problemas.
Para obtener más información sobre la API de Looker, consulta la página de documentación Primeros pasos con la API de Looker.
Probando la URL de inserción
Para probar tu URL final, pégala en el Validador de URI incorporado en la página Incorporar de la sección Administrador de Looker. Si bien esta opción no puede indicarte si los datos y los permisos que prevés se configuraron correctamente, sí puede validar que la autenticación funcione de forma adecuada.