Jak na to: Zapnutí zabezpečení na úrovni řádku v Power BI na stránkách Power Pages
Stejně jako Power Pages je nástroj vhodný k rychlému zveřejnění vašeho nasazení Microsoft Dataverse ve formě webové stránky, je Power BI vhodným nástrojem k vykreslování elegantní vizualizace založené na datech. Krása Power Platform spočívá ve schopnosti hladce sloučit obojí. V minulosti museli k vykreslení sestavy Power BI na webové stránce administrátoři zprávu publikovat na web a vložit ji do prvku iFrame. I kdyby uživatel použil oprávnění ke stránkám k uzamčení stránky se sestavou, pokud by měl jednotlivec odkaz použitý k vložení sestavy, kdokoli by stále měl přístup k sestavě mimo web.
Účelem publikování na web je umožnit jakémukoli jednotlivci na webu využívat data a dokonce sestavu znovu sdílet.
Upozorňující
Při použití možnosti Publikovat na web si vaši publikovanou sestavu nebo vizuál může prohlédnout kdokoli na internetu. Zobrazení nevyžaduje žádné ověření. Zahrnuje zobrazení údajů na úrovni detailů, které vaše sestavy agregují. Před publikováním sestavy ověřte, že lze příslušná data a vizualizace sdílet veřejně. Nezveřejňujte důvěrné nebo vlastnické informace. Pokud máte pochybnosti, pročtěte si před publikováním na zásady vaší organizace.
S Power BI Embedded lze kontextově poskytovat komponenty Power BI uživatelům, předávat automatické filtry s využitím parametru filtru a zapnout funkce zabezpečení na úrovni řádků, které umožňují organizaci skutečně zabezpečit data viditelná uživatelům a zobrazit pouze to, co mají vidět.
Poznámka:
Zabezpečení na úrovni řádků je podporováno pouze v Power BI Embedded.
Předpoklady
- Klient s nasazeným prostředím Microsoft Dataverse a webem Power Pages.
- Web, do kterého je vložena sestava nebo panel Power BI.
- Relevantní obchodní data uložená v Dataverse.
- Power BI Desktop.
- Kapacita pro publikování obsahu Power BI Embedded.
- Práva globálních správců klientů.
- Globální správce klientů s rolí Správce v pracovním prostoru služby Power BI.
- Organizace, ne osobní pracovní prostor Power BI.
- Zapnutá registrace/autentizace na webu.
Scénář
Pracujete pro skupinové fitness studio a používáte Dataverse ke sledování skupinových fitness lekcí a jejich návštěvnosti. Skupinoví fitness instruktoři nejsou umístěni ve vašem klientu, protože každý je považován za dodavatele. Váš web budou používat tito skupinoví fitness instruktoři k přihlášení a zobrazení historie jejich tříd, nadcházejícího rozvrhu a účastnických parametrů. Měli by mít možnost vidět pouze hodiny, které sami vyučovali, ne všechny hodiny.
Instruktory zastupují záznamy typu Kontakt v Dataverse. Při přístupu na web Power Pages to dělají jako svůj záznam Kontakt. Údaje, které potřebují vidět na webu, pocházejí z naší vlastní tabulky Třídy. Tabulka Třídy má vztah N*:1 ke kontaktu, protože formulář tříd má vyhledávací pole s názvem Instruktor, které je určeno pro tabulku kontaktů.
Aby zabezpečení na úrovni řádku fungovalo pro uživatele Power Pages (kontakty), musí existovat přímý vztah mezi kontaktem a tabulkou, ze které čerpáte data pro sestavu. Níže je uveden příklad datového modelu tohoto scénáře:
Konfigurace sestavy nebo řídícího panelu Power BI
Otevřete svou sestavu nebo řídicí panel Power BI v nástroji Power BI Desktop.
Musíme změnit vztah mezi Kontakty a naší tabulkou (v tomto případě Třídy), aby bylo možné používat obousměrné filtrování. Chcete-li tak učinit, vyberte kartu Model zcela vlevo.
Vyberte řádek, který propojuje vaši tabulku kontaktů s tabulkou, která obsahuje data sestavy – ve vzorovém případě je to vbd_class protože sestava obsahuje zprávy o třídách.
V okně Upravit vztah jsou dva výběrové seznamy. V horní části vyberte tabulku, ze které vytváříte sestavu (vbd_class) a vyberte sloupec, který obsahuje jedinečný identifikátor záznamu.
Ve spodním výběrovém seznamu vyberte tabulku kontaktů a vyberte sloupec Kontakt.
Kardinalita má hodnotu mnoho k jednomu (*:1). Změňte hodnotu Směr křížového filtru na Oba.
Vyberte OK.
Při implementaci zabezpečení na úrovni řádků (RLS) musíme vytvořit naši roli. V horním pásu karet Domovská stránka vyberte Správa rolí.
V části Role vyberte Vytvořit. Roli pojmenujte. Ukázkový scénář používal tabulku pagesuser.
Ve sloupci Tabulky vyberte contact.
Zapište do textového pole napravo výraz DAX:
[User Name] = username()
Poznámka:
Pole
[Username]
se nachází v tabulce kontaktů a není skutečným uživatelským jménem. Odkazuje na tabulku adx_externalidentity používanou v Power Pages. Ta obsahuje GUID, které je odesláno do Power BI ve funkci username().Vyberte možnost Uložit a poté uložte soubor.
Na pásu karet Domovská stránka vyberte Publikovat.
Vyberte pracovní prostor organizace, jehož jste vlastníkem a který bude používán integrací Power Pages. Zvolte Vybrat.
Konfigurace integrace Power BI
Chcete-li svému webu povolit integraci Power BI, postupujte podle návodu v části Nastavení integrace Power BI.
Vložená sestava Power BI
Přejděte na Power Pages. Najděte web Power Pages, do kterého chcete sestavu vložit, a poté výběrem příkazu Upravit otevřete návrhové studio Power Pages.
V pracovním prostoru Stránky vyberte webovou stránku, kam chcete sestavu vložit.
Přidejte sekci do těla webové stránky.
Po zobrazení výzvy k výběru součásti, kterou do sekce přidáváte, vyberte ikonu Power BI.
Když komponenta vyplní sekci, vyberte v levém horním rohu příkaz Upravit Power BI.
Vyberte Typ přístupu. Možnosti jsou následující:
Vložit pro vaše zákazníky: Umožňuje sdílet Power BI s externími uživateli bez licence Power BI nebo identity Microsoft Entra.
Vložit pro vaši organizaci: Tato možnost používá ověření Microsoft Entra ke sdílení sestavy z Power BI, aby ji interní uživatelé viděli.
Publikovat na web: Umožňuje přístup k sestavě a datům komukoli na internetu.
Upozornění
Ujistěte se, že se nejedná o důvěrné informace!
Dodatečné informace: Publikování na web
Vyberte možnost Vložit pro vaše zákazníky.
Vyberte pracovní prostor, který obsahuje sestavu nebo řídicí panel, zadejte typ Sestava nebo Řídicí panel a poté vyberte sestavu nebo řídicí panel z poslední rozevírací nabídky. Pokud se jedná o sestavu, musíte určit, kterou stránku vkládáte.
Chcete-li zobrazit kód, který vložil sestavu nebo řídicí panel, vyberte příkaz Upravit kód v pravém horním rohu studia.
Po vyzvání vyberte možnost Otevřít Visual Studio Code. Vlevo v části PowerPages (pracovní prostor) obsahuje název webu Power Pages rozbalovací nabídku s částmi webové stránky. V této sekci vidíte soubor .css, soubor .js a kopii HTML. Ujistěte se, že jste vybrali kopii souboru HTML.
Stiskněte CTRL + F a hledejte
{%
, abychom mohli rychle identifikovat kód obsahující odkaz na náš řídicí panel nebo sestavu Power BI.{%
označuje otevření značky, která vytváří logiku pro jazyk Liquid. Liquid je náš most mezi Dataverse a tím, s čím uživatelé na webu interagují. Když ke vložení komponent používáme editor studia, ve zdrojovém kódu webové stránky se automaticky vytvoří část kódu jazyka Liquid. Více informací o značce Liquid v Power BI naleznete zde: Značky Liquid v Dataverse a Přidání sestavy Power BI.Celý řádek kódu Liquid, který uvidíte, bude vypadat asi takto:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
Zavřete kartu Visual Studio Code pro web.
V návrhovém studiu Power Pages vyberte vloženou součást Power BI a zvolte Upravit Power BI.
Přejděte dolů a přepněte možnost Použít role na hodnotu pravda/ano.
Do textového pole Role zadejte název role, kterou jste vytvořili v Power BI Desktop.
Chcete-li zobrazit změny provedené v kódu, který vložil sestavu nebo řídicí panel, vyberte znovu příkaz Upravit kód v pravém horním rohu studia.
Celý řádek kódu Liquid, který uvidíte, bude nyní vypadat asi takto:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
Zavřete kartu Visual Studio Code a vraťte se do návrhového studia.
Prohlédněte si výslednou vloženou sestavu nebo řídicí panel ve svém prohlížeči výběrem možnosti Synchronizovat v pravém horním rohu a poté výběrem možnosti Náhled > Počítač.
Chcete-li otestovat sestavu bez přihlášeného uživatele, uvidíte, že bylo použito RLS, protože nebyly vráceny žádné záznamy pro navigaci na web Power Pages:
V této sestavě jsou základní data, protože když je zobrazíte v aplikaci Power BI Desktop bez použitého RLS, můžete vidět, že celkově existuje několik záznamů, které však souvisejí se záznamem kontaktu.
Chcete-li to otestovat podrobněji, pokud se na web přihlásíme jako uživatel, který má odpovídající kontakt se souvisejícími údaji, uvidíte na webové stránce pouze záznamy související s přihlášeným uživatelem:
Shrnutí
Do svého webu Power BI jste vložili sestavu nebo řídicí panel Power Pages, který používá zabezpečení na úrovni řádků.
Ve výchozím nastavení se zobrazí podokno filtru. Skrytí podokna filtrů vyžaduje JavaScript. Potřebné kroky jsou zdokumentovány zde: Přidání sestavy nebo řídicího panelu Power BI na webovou stránku v portálu.