Споделяне чрез


Напътствия: Активиране на защитата на ниво ред в Power BI в Power Pages

Точно както Power Pages е най-подходящият инструмент за бързо разширяване на вашето внедряване на Microsoft Dataverse до обществеността под формата на уеб сайт, Power BI е най-подходящият инструмент за изобразяване на елегантни визуализации, управлявани от данни. Красотата на Power Platform се крие в способността му да съчетава безпроблемно и двете. В миналото, за да изобразят отчет на Power BI в уеб страница, администраторите трябваше да публикуват отчета в мрежата и да го вграждат в iFrame. Дори ако някой приложи Разрешения за страници за заключване на страницата с отчета, ако дадено лице е разполагало с връзката, използвана за вграждане на отчета, пак е щял да има достъп до отчета извън уеб сайта.

Целта на Публикуване в интернет е да позволи на лице в мрежата да използва данните и дори да споделя повторно отчета.

Предупреждение

Когато използвате Публикуване в интернет всеки в интернет може да прегледа публикувания ви отчет или визуален обект. Преглеждането не изисква удостоверяване. Това включва преглеждане на данни на ниво подробности, които вашите отчети обобщават. Преди да публикувате отчет, уверете се, че няма проблем да споделяте данните и визуализациите публично. Не публикувайте поверителна или защитена информация. При съмнение се прегледайте правилата на вашата организация, преди да публикувате.

С Power BI Embedded може да се показват контекстно компоненти на Power BI на потребителите, да се предават автоматични филтри чрез параметър на филтъра и да се активират възможности за защита на ниво ред, за да се даде възможност на организацията действително да защити данните, видими за потребителите, и да показва само това, което те трябва да видят.

Бележка

Защитата на ниво ред се поддържа само за Power BI Embedded.

Предварителни изисквания

Сценарий

Работите за фитнес студио с групи и използвате Dataverse за проследяване на фитнес курсовете на групите и тяхното присъствие. Фитнес инструкторите на групите не са във вашия клиент тъй като всеки се третира като изпълнител. Вашият уеб сайт трябва да се използва от тези фитнес инструктори на групите, за да влязат и да видят история на преподаваните от тях курсове, предстоящия им график и процентите на присъстващите. Те трябва да могат да виждат само курсовете, които самите те водят, а не всички.

Инструкторите са представени от записи Контакт в Dataverse. Когато влизат в уеб сайта на Power Pages, те го правят от името на своя запис Контакт. Данните, които трябва да виждат в уеб сайта, идват от нашата персонализирана таблица Курсове. Таблицата „Курсове“ има релация N*:1 към контакт, тъй като формулярът за курсове има справочно поле с име Инструктор, което е за таблицата с контакти.

Запис на курс в Dataverse.

За да работи защитата на ниво ред за потребители на Power Pages (контакти), трябва да има тази пряка релация между Контакт и таблицата, според която отчитате. По-долу е даден примерен модел данни за този сценарий:

Релация на контакт с таблицата с курсове.

Конфигуриране на отчет или табло на Power BI

  1. Отворете отчета или таблото си на Power BI в Power BI Desktop.

    Отчет на Power BI на инструктор.

  2. Трябва да променим релацията между Контакт и нашата таблица (Курсове в този сценарий), за да използваме двупосочно филтриране. За целта изберете раздела Модел най-вляво.

    Опция за модел в Power BI.

  3. Изберете реда, който свързва вашата таблица Контакт с таблицата, която съдържа данните на вашия отчет – в примерния случай това е vbd_class, тъй като отчитаме курсовете.

  4. В прозореца Редактиране на релация има два списъка по избор. В горната част изберете таблицата, за която отчитате (vbd_class), и изберете колоната, която съдържа еднозначния идентификатор на записа.

  5. В долния списък по избор изберете таблицата Контакт и изберете колоната Контакт.

  6. Множеството показва „Много към едно“ (*:1). Променете посоката на Между филтри на И двата.

    Редактиране на връзката между таблиците.

  7. Изберете OK.

  8. Тъй като внедряваме защита на ниво ред (RLS), трябва да създадем своята роля. В горната лента Начало изберете Управление на роли.

  9. Под Роли изберете Създаване. Дайте име на ролята. Примерният сценарий използва pagesuser.

  10. От колоната Таблици изберете Контакт.

  11. Попълнете текстовото поле вдясно с DAX израза:

    [User Name] = username()

    Бележка

    Полето [Username] се намира в таблицата с контакти и не е действително потребителско име. Това препраща към таблицата adx_externalidentity, използвана от Power Pages. Това има GUID, който се изпраща до Power BI във функцията username().

    Управление на роли в Power BI.

  12. Изберете Записване и след това запишете файла си.

  13. От лентата „Начало“ изберете Публикуване.

  14. Изберете работна област на организация, в която сте собственик, която ще се използва от интеграцията на Power Pages. Изберете Избор.

Конфигуриране на интеграцията на Power BI

Вижте Настройване на интеграция на Power BI, за да активирате уеб сайта си за интеграция на Power BI.

Вграждане на отчет на Power BI

  1. Навигирайте до Power Pages. Намерете уеб сайта на Power Pages, в който ще вградите отчета, и след това изберете Редактиране, за да отворите студиото за дизайн на Power Pages.

  2. От работната област Страници изберете уеб страницата, в която искате да вградите отчета.

  3. Добавете секция към основния текст на уеб страницата.

  4. Изберете иконата Power BI, когато бъдете подканени да изберете кой компонент добавяте в секцията.

    Добавете секция към уеб страница.

  5. Когато компонентът попълни секцията, изберете в горния ляв ъгъл Редактиране на Power BI.

  6. Изберете Тип на достъп. Опциите са:

    1. Вграждане за вашите клиенти: Позволява ви да споделяте с Power BI външни потребители без Power BI лиценз или Microsoft Entra самоличност.

    2. Вграждане за вашата организация: Използва Microsoft Entra удостоверяване за споделяне на отчета, така Power BI че вътрешните потребители да могат да го видят.

    3. Публикуване в интернет: Това позволява на всеки в интернет да имат достъп до отчета и данните.

    Внимание

    Уверете се, че това не е поверителна информация!

    Допълнителна информация: Публикуване в интернет

    Изберете Вграждане за клиентите ви.

  7. Изберете работната област, която съдържа отчета или таблото, опредете типа като „Отчет“ или „Табло“ и след това изберете отчета или таблото от последното падащо меню. Ако това е отчет, трябва да посочите коя страница вграждате.

    Избор на отчет.

  8. За да видите кода, който е вградил отчета или таблото, изберете Редактиране на кода от горния десен ъгъл на студиото.

    Редактирайте кода.

  9. Когато получите подкана, изберете Отваряне на Visual Studio Code. Вляво, под PowerPages (работна област) до името на уеб сайта на Power Pages има падащо меню към уеб страницата. В тази секция виждате .css файл, .js файл и HTML копието. Уверете се, че сте на файла с HTML копие.

    Код на VS.

  10. Изберете CTRL + F и потърсете {%, за да можем бързо да идентифицираме кода, който съдържа препратката към таблото или отчета на Power BI. {% показва отварянето на етикет, който създава логика за езика Liquid. Liquid е нашият мост между Dataverse и това, с което взаимодействат потребителите в уеб сайта. Когато използваме редактора в студиото за вграждане на компоненти, автоматично се създава част от код на Liquid в изходния код на уеб страницата. Повече информация за маркера за Liquid на Power BI можете да намерите тук: Маркер за Liquid на Dataverse и Добавяне на отчет на Power BI.

  11. Пълният ред на кода на Liquid, който виждате, ще прилича на:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Затворете раздела Visual Studio Code for the Web.

  13. В студиото за дизайн на Power Pages изберете вградения компонент на Power BI и изберете Редактиране на Power BI .

  14. Превъртете надолу за превключване на Прилагане на роли на Вярно/да.

  15. В текстовото поле Роли въведете името на ролята, която сте създали в Power BI Desktop.

    Добавете роли в компонент на Power BI.

  16. За да видите промените, които това е направило в кода, който е вградил отчета или таблото, изберете отново Редактиране на кода от горния десен ъгъл на студиото.

  17. Пълният ред на кода на Liquid, който виждате, вече ще прилича на:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
    
  18. Затворете раздела на Visual Studio Code, за да се върнете към студиото за дизайн.

  19. Визуализирайте получения вграден отчет или табло в браузъра си, като изберете Синхронизиране в горния десен ъгъл, след което изберете Преглед >Работен плот.

  20. За да тествате отчета без влязъл в системата потребител, можете да видите, че RLS е приложена, тъй като няма върнати записи при навигиране до уеб сайт на Power Pages:

    Празен отчет.

    В този отчет има основни данни, тъй като,л когато преглеждате това от Power BI Desktop без приложена RLS, можете да видите, че има общо няколко записа, но те са свързани със запис на контакт.

  21. За да тестваме това допълнително, ако влезем в уеб сайта с потребител, който има съответен контакт, който има свързани данни, можете да видите само записите, свързани с влезлия в системата потребител на уеб страницата:

    Отчет за курса в уеб страница.

Обобщение

Вградили сте отчет или табло на Power BI, които използват защита на ниво ред във вашия уеб сайт на Power Pages!

Панелът с филтри се показва по подразбиране. Скриването на панела с филтри изисква JavaScript. Стъпките за това са документирани тук: Добавяне на отчет или табло на Power BI към уеб страница в портал.