Внедрение отчета на защищенном портале или веб-сайте

С помощью параметра внедрения отчетов Power BI можно легко и безопасно внедрять отчеты на внутренних веб-порталах. Эти порталы могут быть облачными или размещенными в локальной среде, например SharePoint 2019. Внедренные отчеты учитывают все разрешения элементов и безопасность данных с помощью безопасности на уровне строк (RLS) и безопасности на уровне объектов табличной модели Аналитических Сервисов (OLS). Безопасное внедрение гарантирует, что только прошедшие проверку подлинности и авторизованные пользователи могут получать доступ к отчетам. Они предоставляют возможность внедрения без кода в любой портал, принимающий URL-адрес или iframe.

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

Внимание

Из-за текущих обновлений системы безопасности Chromium параметр внедрения больше не работает точно так же, как он использовался, и пользователям может потребоваться выполнить проверку подлинности более одного раза. Для решения этой проблемы рекомендуется создать собственное решение Power BI Embedded.

Внедрение отчетов Power BI на порталы

  1. Откройте отчет в служба Power BI.

  2. В меню "Файл" выберите Внедрить отчет>Веб-сайт или портал.

  3. В появившемся диалоговом окне безопасного внедрения кода выберите значение в разделе "Вот ссылка", которую можно использовать для внедрения этого содержимого. Или если вы хотите использовать iframe в блоге или веб-сайте, выберите значение в формате HTML, которое можно вставить на веб-сайт. Изменение ширины или высоты от того, что указано в коде iframe, может привести к тому, что некоторые функции не работают должным образом.

    Снимок экрана: диалоговое окно

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

    Снимок экрана: страница входа в Power BI, отображающая вход, чтобы просмотреть этот диалог отчета.

  5. После входа пользователя в систему откроется отчет, отображающий данные и позволяющий навигацию по страницам и настройку фильтра. Только пользователи с разрешением на просмотр могут просматривать отчет в Power BI. Также применяются все правила безопасности на уровне строк (RLS ). Пользователям необходимо правильно лицензироваться. Им нужна лицензия Power BI Pro или Premium для одного пользователя (PPU), или содержимое должно находиться в рабочей области, принадлежащей к области Power BI Premium. Пользователи должны войти каждый раз, когда они открывают новое окно браузера. Однако после входа другие отчеты загружаются автоматически.

    Снимок экрана: пример отчета о продажах и маркетинге.

  6. При использовании iframe может потребоваться изменить высоту и значения ширины , чтобы он соответствовал веб-странице портала.

<iframe width="1080" height="760" src="https://app.powerbi.com/reportEmbed?reportId=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb&autoAuth=true" frameborder="0" allowFullScreen="true"></iframe>

В этом примере aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb представляет уникальный идентификатор отчета (GUID). Замените этот текст вашим настоящим идентификатором отчета, который вы найдете в диалоговом окне интеграции кода при выборе Внедрить отчет>Веб-сайт или портал.

Предоставление доступа к отчетам

Параметр внедрения не позволяет пользователям автоматически просматривать отчет. Разрешения просмотра задаются в службе Power BI.

В службе Power BI можно предоставлять совместный доступ к внедренным отчетам пользователям, которым требуется доступ. Если вы используете группу Microsoft 365, вы можете перечислить пользователя в качестве члена рабочей области.

Лицензирование

Чтобы просмотреть внедренный отчет, требуется лицензия Power BI Pro или Premium Per User (PPU). Кроме того, содержимое должно быть размещено в рабочей области, которая находится в Power BI Premium (EM или P SKU) или Fabric (F SKU) объеме.

Настройте ваш опыт внедрения с помощью параметров URL-адреса

Вы можете кастомизировать пользовательский опыт с помощью настроек встраивания URL-адреса. В предоставленном iframe можно обновить настройки атрибута src URL.

Свойство Описание
ИмяСтраницы Параметр строки запроса pageName можно использовать для задания открываемой страницы отчета. Это значение можно найти в конце URL-адреса отчета при просмотре отчета в служба Power BI, как показано далее в этой статье.
Фильтры URL-адресов Вы можете использовать фильтры URL-адресов в URL встраивания, полученном из пользовательского интерфейса Power BI, для фильтрации встраиваемого содержимого. Таким образом вы можете создавать low-code интеграции, обладая только базовыми знаниями HTML и JavaScript.

Установите, какая страница открывается для встроенного отчета

Значение pageName можно найти в конце URL-адреса при просмотре отчета в службе Power BI.

  1. Откройте отчет из служба Power BI в веб-браузере и скопируйте URL-адрес адресной строки.

    https://app.powerbi.com/groups/me/reports/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/ReportSection2
    

    В этом примере:

    • me указывает, что отчет находится в вашей личной рабочей области (или замените идентификатором рабочей области для общей рабочей области)
    • aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb представляет идентификатор отчета (замените фактическим идентификатором отчета)
    • ReportSection2 — имя страницы
  2. Добавьте свойство pageName и его значение в конец URL-адреса.

    https://app.powerbi.com/reportEmbed?reportId=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb&autoAuth=true&pageName=ReportSection2
    

Фильтрация содержимого отчета с помощью фильтров URL-адресов

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

Использование комбинации pageName и URL-фильтров может быть очень эффективным. Вы можете создавать интерфейсы с помощью базового HTML-кода и JavaScript.

Например, вот кнопка, которую можно добавить на HTML-страницу:

<button class="textLarge" onclick='show("ReportSection", "Energy");' style="display: inline-block;">Show Energy</button>

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

function show(pageName, filterValue)

{

var newUrl = baseUrl + "&pageName=" + pageName;

if(null != filterValue && "" != filterValue)

{

newUrl += "&$filter=Industries/Industry eq '" + filterValue + "'";

}

//Assumes there's an iFrame on the page with id="iFrame"

var report = document.getElementById("iFrame")

report.src = newUrl;

}
https://app.powerbi.com/reportEmbed?reportId=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb&autoAuth=true&pageName=ReportSection&$filter=Industries/Industry eq 'Energy'

В этом примере:

  • reportId=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb — уникальный идентификатор отчета (замените фактическим идентификатором отчета)
  • autoAuth=true — включает автоматическую проверку подлинности
  • pageName=ReportSection — Открывает определенную страницу
  • $filter=Industries/Industry eq 'Energy' — Фильтры для отображения только данных энергетической отрасли

Внимание

Фильтры URL-адресов не являются функцией безопасности и не следует использовать для ограничения доступа к конфиденциальным данным. Пользователи могут изменять или удалять параметры URL-адреса для просмотра нефильтрованных данных или данных с различными фильтрами. Фильтры URL-адресов предназначены только для удобства и начальной настройки представления. Чтобы правильно защитить данные и ограничить доступ пользователей на основе удостоверений или разрешений, используйте безопасность на уровне строк (RLS) или безопасность на уровне объектов (OLS) в модели данных.

Вы можете добавить столько кнопок, сколько вы хотите создать пользовательский интерфейс с низким кодом.

Включение Copilot в безопасных внедренных отчетах

Вы можете активировать Copilot для безопасных веб-отчетов или встроенных отчетов на портале, установив флажок "Включить Copilot" в диалоговом окне внедренных отчетов. Имейте в виду, что эта функция требует активного переключения арендатора Copilot, а также Power BI Premium или платных мощностей Fabric в вашей рабочей области. После включения пользователи могут взаимодействовать напрямую с Copilot в внедренном отчете.

  1. В меню "Файл" выберите "Внедрить отчет", а затем выберите "Веб-сайт" или "Портал".

    Снимок экрана: выбор меню

  2. Установите флажок "Включить Copilot ".

    Снимок экрана: диалоговое окно вставки с опцией «Включить Copilot».   

Рекомендации и ограничения

  • Отчеты с разбивкой на страницы поддерживаются с безопасными сценариями внедрения, а отчеты с разбивкой на страницы с параметрами URL-адреса также поддерживаются. Для получения дополнительной информации см. Передача параметра отчета в URL-адресе для постраничного отчета в Power BI.

  • Опция безопасного внедрения работает для отчетов, опубликованных в службе Power BI.

  • Чтобы разместить безопасно внедренное содержимое, пользователи должны использовать HTTPS для страницы верхнего уровня. Использование незащищенной веб-страницы для доступа к безопасно встроенному содержимому не поддерживается.

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

  • Для проверки подлинности пользователям необходимо включить всплывающие окна.

  • Если пользователи успешно получили доступ к отчетам в прошлом, но теперь сталкиваются с проблемами, они должны очистить кэш браузера.

  • Для некоторых браузеров требуется обновить страницу после входа, особенно при использовании режимов InPrivate или Incognito.

  • При использовании неподдерживаемых версий браузера могут возникнуть проблемы. Список поддерживаемых браузеров Power BI см. в статье "Поддерживаемые браузеры для Power BI".

  • Если веб-сайт задает заголовок Cross-Origin-Opener-Policy (COOP) на "тот же источник", вы не можете войти в систему, чтобы просмотреть внедренное содержимое, так как MSAL не поддерживает этот заголовок. Вместо этого выберите "restrict-properties" (для браузеров на основе Chromium) или "same-origin-allow-popups". Кроме того, если вы не можете изменить политику Cross-Origin-Opener-Policy, сделайте ссылку на встроенный URL-адрес напрямую вместо того, чтобы внедрять его в iframe.

  • Классический Сервер SharePoint Server не поддерживается, так как для него требуются версии Internet Explorer до 11 или включение режима просмотра совместимости.

  • Чтобы обеспечить единый вход, используйте опцию Embed in SharePoint Online или создайте пользовательскую интеграцию с помощью метода встраивания user-owns-data.

  • Возможности автоматической проверки подлинности, предоставляемые параметром внедрения , не работают с API JavaScript Power BI. Они блокируются во встроенном клиентском пакете SDK для PBI, начиная с версии 2.10.4. Для API JavaScript Power BI используйте метод встраивания user-owns-data.

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

  • Время существования токена аутентификации контролируется на основе настроек Microsoft Entra. После истечения срока действия маркера проверки подлинности пользователю потребуется снова войти, чтобы получить обновленный маркер проверки подлинности. Время существования по умолчанию составляет один час, но в организации может быть меньше или больше. Вы не можете автоматически обновить маркер в этом сценарии.

  • Учетные записи гостевых пользователей Azure B2B не поддерживаются, параметр "Внедрение отчета в веб-сайт или портал" > не будет отображаться.