# Подписанное встраивание
Другое название - автономное встраивание.
Как правило, встраивание работает путем отображения URL-адреса GlarusBI внутри iframe на вашем веб-сайте. **Подписанное встраивание** (или отдельное встраивание) — это iframe, защищенный подписанным веб-токеном JSON (JWT). Подписанный JWT не позволит посетителям веб-сайта получить доступ в ваш GlarusBI через iframe.
Подписанные встраивания не могут использоваться с [песочницами данных](../permissions/data-sandboxes.md) или [инструментами аудита](../usage-and-performance-tools/audit.md), поскольку подписанные JWT не создают пользовательские сеансы (сеансы на стороне сервера).
Чтобы ограничить данные в подписанных встраиваниях для определенных людей или групп, настройте [заблокированные параметры](./signed-embedding-parameters.md#restricting-data-in-a-signed-embed).
## Как работает подписанное встраивание
Если вы хотите настроить интерактивные фильтры GlarusBI в своем iframe, ваш веб-сервер должен будет запрашивать обновленные данные каждый раз, когда посетитель веб-сайта обновляет виджет фильтра.
Чтобы запросить обновленные данные из GlarusBI, ваш веб-сервер создаст новый [URL-адрес для встраивания](#adding-the-embedding-url-to-your-website). Например, если посетитель веб-сайта вводит значение «true» в [встроенный виджет фильтра](./signed-embedding-parameters.md#adding-a-filter-widget-to-a-signed-embed), ваш веб-сайт сервер сгенерирует новый 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](#regenerating-the-secret-key). Он сообщает GlarusBI, что запросу отфильтрованных данных можно доверять, поэтому отображать результаты по новому URL-адресу безопасно.
## Включение функции встраивания в GlarusBI
1. Перейдите в **Настройки** > **Настройки администратора** > **Встраивание**.
2. Нажмите **Включить**.
## Создание вопроса или дашборда для встраивания
1. Перейдите к вопросу или дашборду, которые вы хотите встроить на свой веб-сайт.
2. Нажмите на **значок общего доступа** (квадрат со стрелкой, указывающей вверху справа).
3. Выберите **Встроить этот элемент в приложение**.
4. Необязательно: [Предварительный просмотр внешнего вида вставки](#customizing-the-appearance-of-signed-embeds).
5. Необязательно: [Добавить параметры для встраивания](./signed-embedding-parameters.md).
6. Нажмите **Опубликовать**.
![Предварительный просмотр](./images/04-preview.png)
## Добавление URL-адреса для встраивания на ваш сайт
URL-адрес для встраивания вопроса или панели мониторинга — это URL-адрес GlarusBI, который будет отображаться в iframe вашего веб-сайта. Он генерируется вашим веб-сервером с использованием вашего [URL сайта GlarusBI](../configuring-metabase/settings.md#site-url), [подписанного JWT](#how-signed-embedding-works) и [параметров](./signed-embedding-parameters.md):
```
glarusbi_site_url/embed/question/your_jwt_token?parameter_name=value
```
После того, как вы сделали вопрос или дашборд [встраиваемым](#making-a-question-or-dashboard-embeddable), вам необходимо разместить URL-адрес для встраивания этого вопроса или дашборда на своем веб-сайте:
1. Перейдите к вопросу или дашборду > **значок общего доступа** > **Встроить этот элемент в приложение**.
2. Нажмите **Код**.
3. Необязательно: [Предварительный просмотр кода сервера](#previewing-the-frontend-code-for-embed).
4. Добавьте код сервера в файл, который создает ваш веб-сайт.
5. Необязательно: [Предварительный просмотр внешнего кода](#previewing-the-frontend-code-for-an-embed).
6. Добавьте код внешнего интерфейса в HTML-файл, где вы хотите, чтобы ваша подписанная вставка отображалась.
Дополнительные примеры см. в [open source репозитории Metabase](https://github.com/metabase/embedding-reference-apps).
## Предварительный просмотр кода сервера для встраивания
1. Перейдите к вопросу или дашборду > **значок общего доступа** > **Встроить этот элемент в приложение**.
2. Нажмите **Код**.
3. В верхнем блоке кода вы найдете пример кода для вашего веб-сервера.
4. Необязательно: выберите веб-фреймворк в раскрывающемся меню.
Когда вы вносите изменения в настройки стиля, внешнего вида или предварительного просмотра параметров, образец кода сервера также обновляется. Обязательно скопируйте эти изменения в ваш фактический код сервера.
![Примеры кода для встраивания](./images/05-code.png)
## Предварительный просмотр внешнего кода для встраивания
1. Перейдите к вопросу или дашборда > **значок общего доступа** > **Встроить этот элемент в приложение**.
2. Нажмите **Код**.
3. В нижнем блоке кода получите пример кода для вашего внешнего интерфейса.
4. Необязательно: выберите язык шаблона в раскрывающемся меню.
## Редактирование встроенного вопроса или дашборда
Если вы измените [параметры](./signed-embedding-parameters.md) встроенного элемента:
1. Нажмите **Опубликовать** еще раз.
2. [Обновите код](#adding-the-embedding-url-to-your-website) на вашем сервере, чтобы он соответствовал коду, сгенерированному GlarusBI (**Код** > верхний блок).
## Отключение встраивания для вопроса или дашборда
Вы можете найти список всех встроенных вопросов и дашбордов в **Настройки администратора** > **Внедрение**.
1. Перейдите к встраиваемому вопросу или дашборду.
2. Нажмите на **значок общего доступа** (квадрат со стрелкой, указывающей вверху справа).
3. Выберите **Встроить этот элемент в приложение**.
4. Нажмите **Отменить публикацию**.
## Настройка внешнего вида подписанных вложений
Вы можете изменить внешний вид встроенного вопроса или информационной панели в iframe (что не изменит их внешний вид). Настройки включают в себя:
- Граница
- Заголовок
- Тема (светлая, темная, прозрачная)
- Шрифт¹
- Скачать данные²
¹ Доступно на [платных планах Metabase](https://www.metabase.com/pricing).
² Доступно на [платных планах Metabase](https://www.metabase.com/pricing) и скрывает кнопку загрузки только для вопросов (не для дашбордов).
Чтобы обновить внешний вид подписанной вставки:
1. Необязательно: просмотрите изменения внешнего вида из вашего вопроса или настроек встраивания дашборда (**значок общего доступа** > **Встроить этот элемент в приложение**).
2. Необязательно: нажмите **Код**, чтобы найти обновленный фрагмент кода сервера в верхнем блоке кода.
3. Измените [параметры](./signed-embedding-parameters.md#customizing-the-appearance-of-a-signed-embed) в реальном коде сервера.
Глобальные настройки внешнего вида, такие как цвета и шрифты, используемые во всем экземпляре GlarusBI, см. в разделе [Настройка внешнего вида GlarusBI](../configuring-metabase/appearance.md).
## Повторное создание секретного ключа
Ваш секретный ключ внедрения используется для подписи JWT для всех ваших [URL-адресов внедрения](#adding-the-embedding-url-to-your-website). Вы можете найти его в разделе **Настройки** > **Настройки администратора** > **Встраивание**.
**Повторно сгенерировать ключ** создаст новый секретный ключ и разрушит все встраиваемые URL-адреса, в которых использовался старый ключ.
## Изменение размера дашборда в соответствии с их содержимым
Дашборды имеют фиксированное соотношение сторон, поэтому, если вы хотите, чтобы они автоматически изменялись по вертикали в соответствии с их содержимым, вы можете использовать скрипт [iFrame Resizer](https://github.com/davidjbradshaw/iframe-resizer):
```
```
## Еще почитать
- [Параметры для подписанных вложений](./signed-embedding-parameters.md).
- [Репозиторий эталонных приложений](https://github.com/metabase/embedding-reference-apps).
- [Стратегии предоставления клиентской аналитики. Документация Metabase](https://www.metabase.com/learn/embedding/embedding-overview).
- [Публикация визуализаций данных в Интернете. Документация Metabase](https://www.metabase.com/learn/embedding/embedding-charts-and-dashboards).
- [Настройка внешнего вида GlarusBI](../configuring-metabase/appearance.md).