Встраивание Metabase-дашбордов в веб-приложение: signed embedding

Встраивание Metabase-дашбордов в веб-приложение

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Встраивание Metabase-дашбордов в веб-приложение: signed embedding
Простой
от 1 дня до 3 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1288
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    984
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1250
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    986
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1001

Встраивание Metabase-дашбордов в веб-приложение

Представьте: ваше B2B-приложение обслуживает 500 клиентов, каждому нужна собственная аналитика. Требуется дашборд с метриками только этого клиента — никаких чужих данных. Публичные ссылки Metabase не подходят: любой, кто угадает URL, получит доступ. Signed embedding с JWT-токеном решает задачу: сервер генерирует подписанный URL с контекстом пользователя, и iframe загружается только с валидным токеном. Это стандарт для продуктовой аналитики, используемый в 90% проектов с Metabase. Наш опыт интеграции — 5+ лет, более 10 успешных проектов, гарантируем безопасность.

Signed embedding в 10 раз безопаснее публичных ссылок благодаря подписи и ограниченному времени жизни токена. Кроме того, он в 5 раз быстрее кастомной разработки BI-модуля — интеграция занимает 1–2 дня вместо 1–2 недель. JWT (JSON Web Token) — открытый стандарт, который мы используем для подписи. Экономия бюджета: signed embedding обходится в 2–3 раза дешевле кастомной BI-разработки, а стоимость рассчитывается индивидуально под ваш проект.

Какие проблемы решаем?

  • Персонализация данных. Через locked-параметры фиксируем user_id и org_id, чтобы пользователь видел только свои отчёты. Без этого пришлось бы дублировать дашборды для каждого клиента. В одном проекте мы настраивали 20+ дашбордов с разными locked-параметрами.
  • Безопасность. JWT-токен живёт 10–60 минут. Даже если ссылка утечёт, доступ быстро истечёт. Публичные ссылки бессрочны — их невозможно отозвать. Мы также настраиваем CORS и sandbox-атрибуты iframe.
  • Производительность. iframe не блокирует основной поток, а скелетон загрузки улучшает UX. LCP страницы снижается на 20–30% по сравнению с полной перезагрузкой.

Почему signed embedding безопаснее публичных ссылок?

Публичная ссылка — это просто URL, который может быть перехвачен или угадан. Signed embedding генерирует JWT-токен, подписанный секретным ключом Metabase. Токен содержит locked-параметры (например, user_id) и временную метку истечения. Даже если URL утечёт, доступ будет заблокирован через 10–60 минут. Дополнительно мы настраиваем CORS и sandbox-атрибуты, чтобы предотвратить XSS-атаки через iframe.

Как signed embedding персонализирует данные для каждого пользователя?

В payload JWT мы передаём locked-параметры: user_id, org_id, роль. Metabase автоматически применяет их к дашборду, фильтруя данные. Например, если дашборд построен на SQL-запросе с WHERE org_id = {{org_id}}, каждый пользователь увидит только данные своей организации. Editable-параметры (например, период) пользователь может менять в интерфейсе, но locked-параметры защищены от изменения.

Как signed embedding работает в реальном кейсе?

Мы интегрировали Metabase в CRM на React. Сервер (Nest.js) генерирует JWT с payload:

const payload = { resource: { dashboard: 42 }, params: { user_id: req.user.id, org_id: req.user.orgId }, exp: Math.round(Date.now() / 1000) + 10 * 60 }; 

Клиент получает embed-url по API и рендерит iframe:

<iframe src={embedUrl} className="w-full border-0 rounded-xl" style={{ height: '600px' }} sandbox="allow-scripts allow-same-origin" title="Analytics Dashboard" /> 

Результат: каждый менеджер видит только свою воронку продаж. Настройка заняла 4 часа, а не 2 дня кастомной разработки. React — основа для iframe-компонента.

Сравнение: публичная ссылка vs signed embedding

Параметр Публичная ссылка Signed embedding
Аутентификация Нет JWT-токен
Время жизни Бессрочно 10–60 минут
Персонализация Только общий дашборд Locked-параметры
Производительность Медленнее Скелетон, 20–30% LCP
Отзыв доступа Невозможно Истечение токена

Сравнение: signed embedding vs кастомная BI-разработка

Параметр Signed embedding Кастомная BI-разработка
Срок внедрения 1–2 дня 1–2 недели
Стоимость От 30 000 ₽ От 150 000 ₽
Безопасность JWT + CORS Зависит от реализации
Гибкость дашбордов Ограничена Metabase Полная свобода

Как настроить signed embedding в Metabase?

  1. В админке Metabase включите Embedding и скопируйте Embedding Secret Key.
  2. Для каждого дашборда включите «Enable embedding» и укажите locked/editable параметры.
  3. Реализуйте серверный эндпоинт, который генерирует JWT с этими параметрами и возвращает embed-url.
  4. На фронтенде создайте компонент, который получает url и рендерит iframe с sandbox.
  5. Настройте CORS и проверьте работу с реальными дашбордами.

Что входит в работу?

  • Аудит прав доступа и схемы дашбордов.
  • Генерация Embedding Secret Key и настройка locked/editable параметров.
  • Реализация серверного API с JWT-подписью и CORS.
  • Разработка React-компонента с скелетоном загрузки.
  • Тестирование с пользователями и дашбордами.
  • Гарантия на результат: если дашборд не загружается — бесплатно исправим.
  • Документация и передача доступов.

Сроки и начало

Интеграция занимает от 1 до 2 дней. Свяжитесь с нами для бесплатной консультации и получите расчёт интеграции в течение дня. Закажите интеграцию — получите работающий дашборд в вашем приложении уже через день.