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 proporcionada por 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 la incorporación firmada en tu instancia de Looker, un administrador de Looker debe habilitar la incorporación firmada en el panel de administración Administrador de Looker y crear una clave secreta de incorporación. Para obtener instrucciones, consulta la página de documentación Cómo comenzar a incorporar contenido: Habilita la incorporación firmada.

Hosting adecuado para la incorporación firmada

Algunos navegadores, como Safari, o aquellos que tienen instaladas extensiones que bloquean anuncios o cookies de seguimiento, tienen una política de cookies predeterminada que bloquea las cookies de terceros. Cuando se habilita la función Incorporació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 incorporaciones sin cookies requiere una 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 Incorporació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 quieres 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 el DNS necesario que habilite el uso del dominio personalizado. Esto permitirá que Looker comparta el mismo dominio que la aplicación incorporada y que use 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 utilice el mismo dominio que tu instancia de Looker.

Controla la visibilidad de los clientes 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, al mismo tiempo, 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 usuarios. En un sistema cerrado, el contenido se aísla para evitar que los usuarios de diferentes grupos se conozcan entre sí. Por este motivo, te recomendamos que habilites la opción Sistema cerrado antes de otorgar acceso a tu instancia a cualquier usuario externo.

Para obtener más información, consulta las páginas de documentación Diseño y configuración de un sistema de niveles de acceso y Prácticas recomendadas de seguridad para la analítica integrada.

Genera la URL de incorporación firmada

Existen varias formas de generar la URL de incorporación firmada. Puedes usar uno de estos métodos:

Codificación manual de la URL de incorporación firmada

Para codificar la URL de incorporación firmada, primero recopila la información necesaria de Looker y, luego, crea la URL de incorporación firmada.

Recopila la información necesaria de Looker

Como punto de partida para crear tu URL, primero debes 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 la exploración conforman 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 incorporar una visualización de consulta, recupera el valor Query.client_id de la visualización de consulta y copia el Query.client_id en tu URL de incorporación.

Puedes usar la IU de Explorar de Looker para compilar una consulta con una visualización compatible y copiar el valor de Query.client_id del parámetro qid=, o bien puedes recuperar el 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 cualquier valor de filtro del panel ocultando los valores de filtro, el parámetro hide_filter en la URL del panel.
/embed/dashboards/1
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, consulta 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 están en la siguiente lista no se admiten para 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 (obligatorio para ver vistas, paneles o exploraciones).
see_lookml_dashboards access_data Específico del modelo Permite que el usuario vea 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 los 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 que el usuario vea 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 Se necesita para crear campos personalizados en una exploración.
can_create_forecast explore A nivel de la instancia Permite que los usuarios creen o editen previsiones en las visualizaciones.
save_content see_looks A nivel de la instancia Permite que el usuario realice y guarde cambios en las vistas y los paneles.
send_outgoing_webhook see_looks Específico del modelo Permite que el usuario programe envíos de contenido de Looker a un webhook arbitrario.
send_to_s3 see_looks Específico del modelo Permite que el usuario programe entregas de contenido de Looker a un bucket de Amazon S3
send_to_sftp see_looks Específico del modelo Permite que el usuario programe entregas de contenido de Looker a un servidor SFTP.
schedule_look_emails see_looks Específico del modelo Permite que el usuario programe Publicación de contenido de Looker a su propio correo electrónico (si se configura con un atributo de usuario llamado "correo electrónico") o a una dirección de correo electrónico que esté 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 dominios de correo electrónico permitidos.
schedule_external_look_emails schedule_look_emails Específico del modelo Permite que el usuario programe entregas 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ó la versión 26.4 Cuando se combina con al menos otro permiso que permite que un usuario entregue contenido de Looker, este permiso permite que los usuarios entreguen vistas o exploraciones que envíen todas las filas de datos. Este permiso hace visible la opción Todos los resultados en el Programador de Looker para Looks y Explorar.
create_alerts see_looks Ancho de instancia Permite al usuario crear alertas en los mosaicos del panel para recibir notificaciones cuando se cumplan o superen 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 Ancho de instancia Permite que el usuario descargue los resultados de una consulta con un límite aplicado
download_without_limit see_looks A nivel de la instancia Permite que el usuario descargue los resultados de una consulta sin límite aplicado
see_sql see_looks Específico del modelo Permite que el usuario vea el 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, las tarjetas de panel, las Looks y las Exploraciones.
see_drill_overlay access_data Específico del modelo Permite que el usuario desglose los datos sin necesidad de ir a la página Explorar completa.
manage_spaces Ninguno Ancho de 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 superior.
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 de incorporación al que se le otorgue el permiso embed_browse_spaces tendrá acceso a una carpeta de incorporación personal y a la carpeta Compartido 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 obligatorio para los usuarios de incorporaciones que quieran marcar paneles o vistas como favoritos, ya que para marcar contenido como favorito se requiere acceso a la carpeta Favoritos.
embed_save_shared_space Ninguno A nivel de la instancia Permite que el usuario que también tiene el permiso save_content navegue a la carpeta Compartido de la organización, si hay una, 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 archivos en la carpeta Compartida, debe tener acceso de Administrar acceso, Editar a la carpeta Compartida. Además, la falta del permiso embed_save_shared_space no impide que un usuario que tiene el permiso save_content y el acceso Administrar acceso, Editar a la carpeta Compartida guarde contenido allí si tiene una forma alternativa de navegar a la carpeta Compartida, como usar la opción Explorar desde aquí de un panel incorporado.
gemini_in_looker Ninguno Específico del modelo Este es el único permiso 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 están habilitadas desde la página Gemini en Looker en el panel de administración Administrador. Es posible que se requieran permisos adicionales para algunas tareas.
chat_with_agent gemini_in_looker Específico del modelo Se agregó la versión 25.18 Los usuarios de Conversational Analytics pueden chatear con agentes de datos que se basan 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ó la versión 25.18 Los usuarios de Conversational Analytics pueden chatear con una exploración de Looker cuando 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 exploraciones. Para editar, borrar o compartir un agente de datos que creó otro usuario, se les debe otorgar a los usuarios un rol que contenga este permiso en cada modelo que use el agente, así como los permisos adicionales requeridos y el acceso de Administrar acceso, Editar al agente.
admin_agents gemini_in_looker Específico del modelo Se agregó la versión 25.18 Para usar con la API de Conversational Analytics y Conversational Analytics incorporado, los usuarios pueden crear, editar, compartir y borrar agentes de datos. Cuando un usuario crea un agente de datos, se le otorga automáticamente acceso de Administrar acceso, Editar al agente de datos. Con este permiso, no es necesario que se le otorgue acceso al contenido del agente de datos a un usuario para que pueda editar, borrar o compartir un agente de datos que creó otro usuario.

Acceso al modelo

Determina a qué modelos de LookML debe tener acceso el usuario. Esta será una lista de nombres de modelos.

Atributos de usuario

Determina qué atributos del usuario debe tener el usuario, si corresponde. Necesitarás el nombre del atributo de usuario de Looker, así como el valor que el usuario debe tener para ese atributo.

Grupos

Determina 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 normales de Looker. En ese caso, los usuarios de incorporación firmados con el mismo external_group_id tendrán acceso a una carpeta compartida, llamada "Grupo", que es única para el grupo externo.

Roles incorporados

Los parámetros permissions y models crean un rol para el usuario integrado. Este rol aparece como un "Rol incorporado" en la página Usuarios de la sección Administrador de Looker. Si los parámetros permissions, models y group_ids se especifican en la URL de incorporación, el rol incorporado se agrega a los roles que ya se asignaron a los grupos que se indican en el parámetro group_ids. Esto es igual a 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 de incorporación heredará la capacidad de ver y explorar los datos en model_one, y el rol de incorporación 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 incorporación firmada tiene el siguiente formato:

https://HOST/login/embed/EMBED URL?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úrate de incluir el número de puerto si no habilitaste la redirección de puertos, como analytics.mycompany.com:9999.

Incorporar URL

La URL de incorporación se determinó anteriormente. 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 usas eventos de JavaScript incorporados, asegúrate de agregar el parámetro embed_domain (el dominio en el que se usa el iframe) al final de la URL de incorporación, de la siguiente manera:

/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 usas el SDK de Embed, asegúrate de agregar el parámetro embed_domain y también incluir sdk=2 al final de la URL de incorporación, de la siguiente manera:

/embed/looks/4
⇨
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2

El parámetro sdk=2 permite que Looker identifique 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 usan para especificar la información necesaria para la incorporació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 Se requiere un valor La hora actual como una marca de tiempo UNIX Número entero 1407876784
session_length Se requiere un valor Es la 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 Un identificador para cada usuario de la aplicación que incorpora Looker. Looker usa external_user_id para diferenciar a los usuarios de incorporaciones firmadas, 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 que sea única para ese usuario. Cada ID se asocia con un conjunto de permisos, atributos del usuario y modelos. Un solo navegador puede admitir solo un 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 distintos usuarios interactivos y de no usar el mismo external_user_id para un solo usuario que tenga diferentes permisos, valores de atributos de usuario o acceso al modelo.

Usar el mismo external_user_id para varios usuarios o para el mismo usuario con varios permisos, atributos de usuario o conjuntos de modelos puede hacer que los datos sean visibles para los usuarios que, de lo contrario, no tendrían acceso a ellos.
String de JSON "user-4"
permissions Se requiere un valor 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 Es 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 de los que el usuario debe ser miembro, 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 hay forma de configurar grupos de usuarios de incorporación externa desde la IU de Looker.

La longitud de 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 el 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 {} Es la lista de atributos de usuario que debe tener el usuario, si corresponde. 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 incorporación para especificar un idioma para la incorporación. Por ejemplo, si incluyes el parámetro user_attributes { "locale" : "fr_FR" }, el elemento 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 aún es obligatorio en la URL. Usa 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á "Embed" si nunca se estableció un nombre. 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 habilitaste la opción Zonas horarias específicas del usuario, establece el valor de la opción Zona horaria del usuario en el menú desplegable Zona horaria del Look o panel incorporado. 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 Referencia de la zona horaria de la incorporación firmada.

Sugerencia del equipo de Chat: Si quieres que el contenido incorporado use de forma predeterminada la zona horaria del usuario, usa 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 la vista incorporados con la zona horaria predeterminada establecida en Zona horaria del visualizador, que usará la zona horaria del usuario de forma predeterminada para los usuarios incorporados y los no incorporados.
  • Cadena JSON o nula "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) Deberían ver el elemento con sus credenciales actuales.

    o

    2) Se debe salir de la sesión y volver a acceder con las credenciales de incorporación firmadas.
    Booleano (verdadero o falso) true
    ca_chat true Si habilitaste Conversational Analytics y el parámetro de configuración Agentes del panel, establece si el panel de conversación del agente del panel está visible para los usuarios de la integración. Si es true, la estrella de Gemini será visible para los usuarios que tengan los permisos adecuados para interactuar con los agentes del panel. Solo se aplica a los paneles incorporados. Booleano (verdadero o falso) true

    Firma

    Looker usa la firma para verificar que se haya usado el secreto de incorporación correcto para generar la firma en la URL de incorporación y que los parámetros de la URL de incorporación no hayan cambiado. Si el secreto de incorporación o los parámetros de 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áfica sólida de que la URL de incorporación no se modificó durante el tránsito y de que la creó una entidad de confianza que posee la clave secreta de incorporación.

    Para generar la firma, deberás seguir estos pasos.

    1. Recopila los siguientes valores de parámetros en este orden:
      • Host, 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. Asigna el formato JSON a todos los valores, excepto Host y Embed URL
    3. Concatenar los valores con saltos de línea (\n)
    4. Firma con HMAC-SHA1 la cadena concatenada con tu clave secreta de incorporación de Looker

    Codificación

    El último paso es codificar tu 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 mencionó anteriormente, es correcto que /embed//embed/ aparezca en tu URL.

    Después de codificar la URL, se vería de la siguiente manera:

    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
    

    Cómo usar el extremo de API de Create Signed Embed Url

    La API de Looker incluye el extremo Crear URL de incorporación firmada, que toma un conjunto de parámetros de incorporación firmados que incluye la URL del contenido que deseas incorporar y devuelve una URL completa, codificada y firmada 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 APIs también es útil para generar una URL firmada y compararla con una URL firmada creada de forma manual para solucionar problemas.

    Para obtener más información sobre la API de Looker, consulta la página de documentación Comienza a usar la API de Looker.

    Cómo probar la URL de incorporación

    Para probar tu URL final, pégala en el Validador de URI de incorporación 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, puede validar que la autenticación funcione de manera adecuada.