Incorporación firmada

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:

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=1234567890abcdefghij12

Los 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/1

Incluye 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/conversations

Para la página de agentes: https://instance_name.looker.com/agents

Para una conversación específica: https://instance_name.looker.com/conversations/conversation_id

Para 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/1 o /embed/dashboards-legacy/1
  • /embed/dashboards/my_model::my_dashboard o /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:

  • Agrega el parámetro ?query_timezone=user_timezone a la URL de incorporación. Por ejemplo:

    /embed/dashboards/1?query_timezone=user_timezone
  • Guarda el panel o Look incorporado con la zona horaria predeterminada establecida en Zona horaria del usuario que ve el contenido, que usará la zona horaria del usuario de forma predeterminada tanto para los usuarios incorporados como para los que no lo están.
  • 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.

    o

    2) 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 Gemini Spark es visible para los usuarios que tienen los permisos adecuados para interactuar con los agentes del panel. Se aplica únicamente a paneles de control integrados. 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.

    1. 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
    2. Formatea todos los valores que no sean Host y URL de incorporación como JSON
    3. Concatenar los valores con saltos de línea (\n)
    4. 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.