Zabezpečení na úrovni řádků (RLS) v Power BI

Zabezpečení na úrovni řádků v Power BI umožňuje určitým uživatelům zamezit přístup k datům. Filtry omezují přístup k datům na úrovni řádků a můžete je definovat v rámci rolí. Ve službě Power BI mají členové pracovního prostoru přístup k datovým sadám v daném pracovním prostoru. Zabezpečení na úrovni řádků neomezuje tento přístup k datům.

Zabezpečení na úrovni řádků můžete nakonfigurovat pro datové modely importované do Power BI pomocí Power BI Desktopu. Zabezpečení na úrovni řádků můžete nakonfigurovat také u datových sad, které používají DirectQuery, například u SQL Serveru. Pro živá připojení Analysis Services nebo Azure Analysis Services nakonfigurujete zabezpečení na úrovni řádků v modelu, ne v Power BI Desktopu. Možnost zabezpečení se u živého připojení datových sad nezobrazí.

Definování rolí a pravidel v Power BI Desktopu

V Power BI Desktopu můžete definovat role a pravidla. Při publikování do Power BI se publikují také definice rolí.

Pokud chcete definovat role zabezpečení, postupujte podle těchto kroků.

  1. Naimportujte data do sestavy Power BI Desktopu nebo nakonfigurujte připojení DirectQuery.

    Poznámka

    V Power BI Desktopu není možné definovat role pro živá připojení služby Analysis Services. Je to potřeba udělat v rámci modelu služby Analysis Services.

  2. Na kartě Modelování vyberte Spravovat role.

    Select Manage Roles

  3. V okně Spravovat role vyberte Vytvořit.

    Select Create

  4. V oblasti Role zadejte název role.

  5. V oblasti Tabulky vyberte tabulku, na kterou chcete uplatnit pravidlo jazyka DAX.

  6. Do pole Výraz DAX filtru tabulky zadejte výrazy DAX. Tento výraz vrací hodnotu true nebo false. Příklad: [Entity ID] = “Value”.

    Manage roles window

    Poznámka

    Ve výrazu můžete použít username() . Nezapomeňte, že v Power BI Desktopu má username() formát DOMÉNA\uživatelské_jméno. Ve službě Power BI a na Serveru sestav Power BI má formát hlavního názvu uživatele (UPN). Můžete také použít funkci userprincipalname(), která vždy vrací uživatele ve formátu hlavního názvu uživatele (UPN), .

  7. Po vytvoření výrazu DAX můžete výběrem značky zaškrtnutí nad polem s výrazem tento výraz ověřit.

    Validate DAX expression

    Poznámka

    V tomto poli výrazu se k oddělení argumentů funkce DAX používají čárky, a to i když pracujete v národním prostředí, které obvykle jako oddělovače používá středníky (jako je francouzština nebo němčina).

  8. Vyberte Uložit.

V Power BI Desktopu není možné přiřadit uživatele k roli. Přiřadíte je ve službě Power BI. V Power BI Desktopu můžete povolit dynamické zabezpečení, když použijete funkce DAX uživatelské_jméno() nebo userprincipalname() a nakonfigurujete správné relace.

Ve výchozím nastavení používá filtrování zabezpečení na úrovni řádků jednosměrné filtry, a to bez ohledu na to, jestli jsou relace nastavené na jeden směr, nebo obousměrně. Obousměrný křížový filtr se zabezpečením na úrovni řádků můžete povolit ručně, když vyberete relaci a zaškrtnete políčko Použít filtr zabezpečení v obou směrech. Toto políčko zaškrtněte, když jste na úrovni serveru také implementovali dynamické zabezpečení na úrovni řádků, kdy zabezpečení na úrovni řádků je založené na uživatelském jménu nebo přihlašovacím ID.

Další informace najdete v technickém článku Obousměrné křížové filtrování pomocí DirectQuery v Power BI Desktopu a Zabezpečení tabulkového sémantického modelu BI.

Apply Security Filter

Ověření rolí v Power BI Desktopu

Po vytvoření rolí otestujte výsledky v Power BI Desktopu.

  1. Na kartě Modelování vyberte Zobrazit jako.

    Select View as Roles

    Objeví se okno Zobrazit jako role, kde uvidíte role, které jste vytvořili.

    View as roles window

  2. Vyberte některou vytvořenou roli a pak výběrem tlačítka OK tuto roli použijte.

    Sestava zobrazí data, která odpovídají dané roli.

  3. Můžete také vybrat Jiný uživatel a zadat uživatele.

    Select Other user

    Doporučujeme zadat hlavní název uživatele (UPN), protože ho používají služba Power BI a Server sestav Power BI.

    Možnost Jiný uživatel zobrazí v Power BI Desktopu jiné výsledky jen v případě, že používáte dynamické zabezpečení založené na výrazech DAX.

  4. Vyberte OK.

    Sestava se vykreslí podle toho, co může zobrazit daný uživatel.

    Poznámka

    Funkce Zobrazit jako roli nefunguje u modelů DirectQuery s povoleným jednotným přihlašováním Sign-On (SSO).

Teď, když jste skončili s ověřováním rolí v Power BI Desktop, pokračujte publikováním sestavy do Power BI služby.

Správa zabezpečení na datovém modelu

Pokud chcete spravovat zabezpečení datového modelu, otevřete pracovní prostor, kam jste uložili sestavu ve službě Power BI, a proveďte následující kroky:

  1. Ve službě Power BI vyberte nabídku Další možnosti pro datovou sadu. Tato nabídka se zobrazí, když najedete na název datové sady myší, a to bez ohledu na to, jestli ho vyberete v navigační nabídce nebo na stránce pracovního prostoru.

    More options menu in workspace

    More options menu in navigation menu

  2. Vyberte Zabezpečení.

    Select security from more options menu

Zabezpečení vás na stránce zabezpečení Role-Level, kde přidáte členy do role, kterou jste vytvořili v Power BI Desktop. Zabezpečení uvidí jenom vlastníci datové sady. Pokud je datová sada ve skupině, možnost Zabezpečení uvidí jen správci této skupiny.

V Power BI Desktopu můžete role pouze vytvářet nebo upravovat.

Práce s členy

Přidání členů

V Power BI můžete přidat člena do role zadáním e-mailové adresy nebo jména uživatele nebo skupiny zabezpečení. Skupiny vytvořené v Power BI přidávat nemůžete. Můžete přidat členy, kteří jsou vůči vaší organizaci externí.

K nastavení zabezpečení na úrovni řádků můžete použít následující skupiny.

  • Distribuční skupina
  • Poštovní skupina
  • Skupina zabezpečení

Upozorňujeme ale, že Office 365 skupiny nejsou podporované a není možné je přidat k žádným rolím.

Add a member

Podle čísla v závorce vedle názvu role nebo vedle části Členové můžete také zjistit, kolik členů k dané roli patří.

Members in role

Odebrání členů

Členy můžete odebrat výběrem symbolu X vedle jejich jména.

Remove member

Ověření role ve službě Power BI

Otestováním role můžete ověřit, že role, kterou jste definovali, Power BI ve službě.

  1. Vyberte vedle této role Další možnosti (...).
  2. Jako roli vyberte Testovací data.

Test as role

Zobrazí se vám sestavy, které jsou pro tuto roli dostupné. V tomto zobrazení se neobjeví řídicí panely. V záhlaví stránky se zobrazuje přiřazená role.

Now viewing as

Výběrem možnosti Právě prohlížíte jako si můžete vyzkoušet jiné role nebo jejich kombinaci.

Test other roles

Když chcete ověřit funkčnost rolí, můžete si data zobrazit jako konkrétní osoba nebo vybrat kombinaci dostupných rolí.

Pokud se chcete vrátit do normálního zobrazení, vyberte možnost Zpět k zabezpečení na úrovni řádků.

Poznámka

Funkce Testovat jako roli nefunguje u modelů DirectQuery s povoleným jednotným přihlašováním Sign-On (SSO).

Použití funkcí jazyka DAX username() a userprincipalname()

V datové sadě můžete využít funkce jazyka DAX username() nebo userprincipalname(). Můžete je používat ve výrazech v Power BI Desktopu. Když váš model publikujete, použije se ve službě Power BI.

V Power BI Desktopu vrací funkce username() uživatele ve formátu DOMÉNA\Uživatel a funkce userprincipalname() vrací uživatele ve formátu .

Ve službě Power BI vracejí funkce username() i userprincipalname() hlavní název uživatele (UPN). Ten vypadá podobně jako e-mailová adresa.

Použití zabezpečení na úrovni řádků s pracovními prostory v Power BI

Pokud publikujete sestavu Power BI Desktop do nového prostředí pracovních prostorů ve službě Power BI, role RLS se použijí na členy, kteří jsou v pracovním prostoru přiřazení k roli Divák. RLS platí i v případě, že divákům jsou udělena oprávnění k sestavení datové sady. Pokud například diváci s oprávněními sestavení používají funkce Analyzovat v Excel, jejich zobrazení dat bude chráněno zabezpečením na zabezpečení na základě zabezpečení na zabezpečení . Členové pracovního prostoru,kteří mají přiřazené oprávnění Správce,Člen nebo Přispěvatel, mají oprávnění k úpravám datové sady, a proto se na ně RLS nevztahuje. Pokud chcete, aby zabezpečení na základě zabezpečení na základě zabezpečení (RLS) bylo aplikováno na uživatele v pracovním prostoru, můžete jim přiřadit jenom roli Divák. Přečtěte si další informace o rolích v nových pracovních prostorech.

Upozornění

Pokud jste nakonfigurovali klasický pracovní prostor tak, aby členové měli oprávnění k úpravám, role RLS se na ně nebudou aplikovat. Uživatelé uvidí všechna data. Přečtěte si další informace o klasických pracovních prostorech.

Group settings

Důležité informace a omezení

Aktuální omezení zabezpečení na úrovni řádků v cloudových modelech jsou následující:

  • Pokud jste ve službě Power BI definovali role a pravidla, musíte je v Power BI Desktopu vytvořit znovu.
  • Zabezpečení na úrovni řádků (RLS) můžete definovat jenom u datových sad vytvořených v Power BI Desktopu. Pokud chcete povolit zabezpečení na úrovni řádků (RLS) pro datové sady vytvořené v Excelu, musíte soubory napřed převést na Power BI Desktop (PBIX). Přečtěte si další informace.
  • Objekty služby není možné přidat do role RLS. RLS se proto nebude používat u aplikací, které jako konečnou efektivní identitu používají objekt služby.
  • Podporovaná připojení jsou jenom Import a DirectQuery. Živá připojení ke službě Analysis Services zpracovává místní model.
  • Funkce Testovat jako roli nebo Zobrazit jako roli nefunguje u modelů DirectQuery s povoleným jednotným přihlašováním Sign-On (SSO).

Známé problémy

Existuje známý problém, kdy se zobrazí chybová zpráva, pokud se pokusíte publikovat dříve publikovanou sestavu z Power BI Desktop. Scénář je následující:

  1. Anna má datovou sadu, která je publikovaná ve službě Power BI a má nakonfigurované zabezpečení na úrovni řádků (RLS).

  2. Ana aktualizuje sestavu v Power BI Desktopu a znovu ji publikuje.

  3. Anně se zobrazí zpráva.

Alternativní řešení: Dokud nebude tento problém vyřešen, je potřeba soubor Power BI Desktopu znovu publikovat ve službě Power BI. Můžete to udělat tak, že vyberete Získat dataSoubory.

Časté otázky

Otázka: Co když jsem role a pravidla datové služby vytvořil/a dřív ve službě Power BI? Budou dál fungovat i když nic neudělám?
Odpověď: Ne, vizuály se nevykreslí správně. Budete je muset vytvořit znovu v Power BI Desktopu a pak je znovu publikovat ve službě Power BI.

Otázka: Můžu tyto role vytvořit pro datové zdroje služby Analysis Services?
Odpověď: Můžete, pokud jste naimportovali data do Power BI Desktopu. Pokud používáte živé připojení, nebudete moct nakonfigurovat zabezpečení na úrovni řádků (RLS) ve službě Power BI. Definuje se v místním modelu služby Analysis Services.

Otázka: Můžu použít zabezpečení na úrovni řádků (RLS) k omezení dostupnosti sloupců nebo měr pro uživatele?
Odpověď: Ne, pokud má uživatel přístup ke konkrétnímu řádku dat, uvidí všechny sloupce dat pro tento řádek.

Otázka: Umožní mi zabezpečení na úrovni řádků (RLS) skrýt podrobná data a současně umožnit ve vizuálech přístup k souhrnným údajům?
Odpověď: Ne. I když zabezpečíte jednotlivé řádky dat, uživatelé vždy vidí podrobnosti i souhrnné údaje.

Otázka: Můj zdroj dat už má definované role zabezpečení (například SQL Server role nebo SAP BW role). Jaký je vztah mezi těmito rolemi a RLS?
Odpověď: Odpověď závisí na tom, jestli importujete data nebo používáte DirectQuery. Pokud importujete data do datové sady Power BI, role zabezpečení ve zdroji dat se nepoužívají. V tomto případě musíte definovat RLS a vynutit pravidla zabezpečení pro uživatele, kteří se připojují v Power BI. V DirectQuery se role zabezpečení ve zdroji dat používají. Když uživatel otevře sestavu, Power BI pošle dotaz na podkladový zdroj dat, který použije pravidla zabezpečení u dat na základě přihlašovacích údajů uživatele.

Další kroky