Подписанное встраивание

Другое название - автономное встраивание.

Как правило, встраивание работает путем отображения URL-адреса GlarusBI внутри iframe на вашем веб-сайте. Подписанное встраивание (или отдельное встраивание) — это iframe, защищенный подписанным веб-токеном JSON (JWT). Подписанный JWT не позволит посетителям веб-сайта получить доступ в ваш GlarusBI через iframe.

Подписанные встраивания не могут использоваться с песочницами данных или инструментами аудита, поскольку подписанные JWT не создают пользовательские сеансы (сеансы на стороне сервера).

Чтобы ограничить данные в подписанных встраиваниях для определенных людей или групп, настройте заблокированные параметры.

Как работает подписанное встраивание

Если вы хотите настроить интерактивные фильтры GlarusBI в своем iframe, ваш веб-сервер должен будет запрашивать обновленные данные каждый раз, когда посетитель веб-сайта обновляет виджет фильтра.

Чтобы запросить обновленные данные из GlarusBI, ваш веб-сервер создаст новый URL-адрес для встраивания. Например, если посетитель веб-сайта вводит значение «true» в встроенный виджет фильтра, ваш веб-сайт сервер сгенерирует новый URL-адрес для встраивания с дополнительным параметром:

your_glarusbi_embedding_url?filter=true

Чтобы люди не могли редактировать URL-адрес для встраивания, для получения несанкционированного доступа к другим частям вашей GlarusBI (например, изменив параметр на filter=company_secrets), ваш веб-сервер добавит подписанный JWT к новому URL-адресу для встраивания:

your_glarusbi_embedding_url/your_signed_jwt?filter=true

Подписанный JWT создается с использованием секретного ключа GlarusBI. Он сообщает GlarusBI, что запросу отфильтрованных данных можно доверять, поэтому отображать результаты по новому URL-адресу безопасно.

Включение функции встраивания в GlarusBI

  1. Перейдите в Настройки > Настройки администратора > Встраивание.

  2. Нажмите Включить.

Создание вопроса или дашборда для встраивания

  1. Перейдите к вопросу или дашборду, которые вы хотите встроить на свой веб-сайт.

  2. Нажмите на значок общего доступа (квадрат со стрелкой, указывающей вверху справа).

  3. Выберите Встроить этот элемент в приложение.

  4. Необязательно: Предварительный просмотр внешнего вида вставки.

  5. Необязательно: Добавить параметры для встраивания.

  6. Нажмите Опубликовать.

Предварительный просмотр

Добавление URL-адреса для встраивания на ваш сайт

URL-адрес для встраивания вопроса или панели мониторинга — это URL-адрес GlarusBI, который будет отображаться в iframe вашего веб-сайта. Он генерируется вашим веб-сервером с использованием вашего URL сайта GlarusBI, подписанного JWT и параметров:

glarusbi_site_url/embed/question/your_jwt_token?parameter_name=value

После того, как вы сделали вопрос или дашборд встраиваемым, вам необходимо разместить URL-адрес для встраивания этого вопроса или дашборда на своем веб-сайте:

  1. Перейдите к вопросу или дашборду > значок общего доступа > Встроить этот элемент в приложение.

  2. Нажмите Код.

  3. Необязательно: Предварительный просмотр кода сервера.

  4. Добавьте код сервера в файл, который создает ваш веб-сайт.

  5. Необязательно: Предварительный просмотр внешнего кода.

  6. Добавьте код внешнего интерфейса в HTML-файл, где вы хотите, чтобы ваша подписанная вставка отображалась.

Дополнительные примеры см. в open source репозитории Metabase.

Предварительный просмотр кода сервера для встраивания

  1. Перейдите к вопросу или дашборду > значок общего доступа > Встроить этот элемент в приложение.

  2. Нажмите Код.

  3. В верхнем блоке кода вы найдете пример кода для вашего веб-сервера.

  4. Необязательно: выберите веб-фреймворк в раскрывающемся меню.

Когда вы вносите изменения в настройки стиля, внешнего вида или предварительного просмотра параметров, образец кода сервера также обновляется. Обязательно скопируйте эти изменения в ваш фактический код сервера.

Примеры кода для встраивания

Предварительный просмотр внешнего кода для встраивания

  1. Перейдите к вопросу или дашборда > значок общего доступа > Встроить этот элемент в приложение.

  2. Нажмите Код.

  3. В нижнем блоке кода получите пример кода для вашего внешнего интерфейса.

  4. Необязательно: выберите язык шаблона в раскрывающемся меню.

Редактирование встроенного вопроса или дашборда

Если вы измените параметры встроенного элемента:

  1. Нажмите Опубликовать еще раз.

  2. Обновите код на вашем сервере, чтобы он соответствовал коду, сгенерированному GlarusBI (Код > верхний блок).

Отключение встраивания для вопроса или дашборда

Вы можете найти список всех встроенных вопросов и дашбордов в Настройки администратора > Внедрение.

  1. Перейдите к встраиваемому вопросу или дашборду.

  2. Нажмите на значок общего доступа (квадрат со стрелкой, указывающей вверху справа).

  3. Выберите Встроить этот элемент в приложение.

  4. Нажмите Отменить публикацию.

Настройка внешнего вида подписанных вложений

Вы можете изменить внешний вид встроенного вопроса или информационной панели в iframe (что не изменит их внешний вид). Настройки включают в себя:

  • Граница

  • Заголовок

  • Тема (светлая, темная, прозрачная)

  • Шрифт¹

  • Скачать данные²

¹ Доступно на платных планах Metabase.

² Доступно на платных планах Metabase и скрывает кнопку загрузки только для вопросов (не для дашбордов).

Чтобы обновить внешний вид подписанной вставки:

  1. Необязательно: просмотрите изменения внешнего вида из вашего вопроса или настроек встраивания дашборда (значок общего доступа > Встроить этот элемент в приложение).

  2. Необязательно: нажмите Код, чтобы найти обновленный фрагмент кода сервера в верхнем блоке кода.

  3. Измените параметры в реальном коде сервера.

Глобальные настройки внешнего вида, такие как цвета и шрифты, используемые во всем экземпляре GlarusBI, см. в разделе Настройка внешнего вида GlarusBI.

Повторное создание секретного ключа

Ваш секретный ключ внедрения используется для подписи JWT для всех ваших URL-адресов внедрения. Вы можете найти его в разделе Настройки > Настройки администратора > Встраивание.

Повторно сгенерировать ключ создаст новый секретный ключ и разрушит все встраиваемые URL-адреса, в которых использовался старый ключ.

Изменение размера дашборда в соответствии с их содержимым

Дашборды имеют фиксированное соотношение сторон, поэтому, если вы хотите, чтобы они автоматически изменялись по вертикали в соответствии с их содержимым, вы можете использовать скрипт iFrame Resizer:

<script src="http://metabase.example.com/app/iframeResizer.js"></script>
<iframe src="http://metabase.example.com/embed/dashboard/TOKEN" onload="iFrameResize({}, this)"></iframe>

Еще почитать