Sdílet prostřednictvím


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

Nastavení zabezpečení na úrovni řádků (RLS) s Server sestav Power BI může omezit přístup k datům pro dané uživatele. Filtry omezují přístup k datům na úrovni řádku a můžete definovat filtry v rámci rolí. Pokud v Server sestav Power BI používáte výchozí oprávnění, může každý uživatel s oprávněními Publisheru nebo Správce obsahu pro sestavu Power BI přiřadit členy k rolím pro danou sestavu.

RLS nakonfigurujete pro sestavy importované do Power BI pomocí Power BI Desktopu. Zabezpečení na úrovni řádků můžete nakonfigurovat také u sestav, které používají DirectQuery, jako je SQL Server. Mějte na paměti, že zabezpečení na úrovni řádků se nerespektuje, pokud vaše připojení DirectQuery používá integrované ověřování pro čtenáře sestav. U živých připojení služby Analysis Services nakonfigurujete zabezpečení na úrovni řádků v místním modelu. U datových sad živého připojení se možnost zabezpečení nezobrazuje.

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 publikujete také definice rolí.

Definování rolí zabezpečení:

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

    Poznámka:

    V Power BI Desktopu nemůžete definovat role pro živá připojení analysis services. Musíte to udělat v rámci modelu Analysis Services.

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

    Snímek obrazovky s kartou Modelování se zvýrazněnou možností Spravovat role

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

    Snímek obrazovky s oknem Spravovat role se zvýrazněnou možností Vytvořit

  4. V části Role zadejte název role.

    Poznámka:

    Roli nemůžete definovat čárkou, například London,ParisRole.

  5. V části Tabulky vyberte tabulku, na kterou chcete použít pravidlo DAX (Data Analysis Expression).

  6. Do pole výrazu DAX filtru tabulky zadejte výrazy DAX. Tento výraz vrátí hodnotu true nebo false. Například: [Entity ID] = “Value”.

    Snímek obrazovky s oknem Spravovat role a zvýrazněním ukázkového výrazu DAX

    Poznámka:

    V tomto výrazu můžete použít uživatelské jméno(). Mějte na paměti, že uživatelské_jméno() má formát DOMAIN\username v Power BI Desktopu. V služba Power BI a Server sestav Power BI je ve formátu hlavního názvu uživatele (UPN). Alternativně můžete použít userprincipalname(), který vždy vrací uživatele ve formátu hlavního názvu uživatele, username@contoso.com.

  7. Po vytvoření výrazu DAX zaškrtněte políčko nad polem výrazu a ověřte výraz.

    Snímek obrazovky s oknem výrazu DAX filtru tabulky a zvýrazněním značky zaškrtnutí

    Poznámka:

    V tomto poli výrazu oddělte argumenty funkce DAX čárkami, i když používáte národní prostředí, které obvykle používá středníky (např. francouzštinu nebo němčinu).

  8. Zvolte Uložit.

V Power BI Desktopu nemůžete přiřadit uživatele k roli. Přiřadíte je v služba Power BI. Dynamické zabezpečení v Power BI Desktopu můžete povolit tak, že použijete funkce DAX username() nebo userprincipalname() a nakonfigurujete správné relace.

Obousměrné křížové filtrování

Ve výchozím nastavení používá filtrování zabezpečení na úrovni řádků jednosměrné filtry bez ohledu na to, jestli jsou relace nastaveny na jeden směr nebo obousměrný. Obousměrný křížový filtr můžete povolit ručně pomocí zabezpečení na úrovni řádků.

  • Vyberte relaci a zaškrtněte políčko Použít filtr zabezpečení v obou směrech .

    Použití filtru zabezpečení

Toto políčko zaškrtněte při implementaci dynamického zabezpečení na úrovni řádků na základě uživatelského jména nebo přihlašovacího ID.

Další informace najdete v tématu Obousměrné křížové filtrování pomocí DirectQuery v Power BI Desktopu a zabezpečení technického dokumentu white paper o sémantickém modelu tabulkového BI.

Ověření rolí v Power BI Desktopu

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

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

    Snímek obrazovky s kartou Modelování a zvýrazněním Zobrazení jako

    Zobrazí se okno Zobrazit jako role , ve kterém vidíte role, které jste vytvořili.

    Snímek obrazovky s oknem Zobrazit jako role a vybranou možností Žádné

  2. Vyberte roli, kterou jste vytvořili. Potom zvolte OK , aby se tato role použila.

    Sestava vykreslí data relevantní pro danou roli.

  3. Můžete také vybrat jiného uživatele a zadat daného uživatele.

    Snímek obrazovky s oknem Zobrazit jako role a zadaným ukázkovým uživatelem

    Nejlepší je zadat hlavní název uživatele (UPN), protože to je to, co služba Power BI a Server sestav Power BI použít.

    V Power BI Desktopu zobrazí jiný uživatel jiné výsledky jenom v případě, že používáte dynamické zabezpečení na základě výrazů DAX. V takovém případě musíte zahrnout uživatelské jméno i roli.

  4. Vyberte OK.

    Sestava se vykreslí na základě toho, co filtry zabezpečení na úrovni řádků umožňují uživateli zobrazit.

    Poznámka:

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

Přidání členů do rolí

Po uložení sestavy v Server sestav Power BI můžete spravovat zabezpečení a přidávat nebo odebírat členy na serveru. Pro sestavu mají k dispozici možnost zabezpečení na úrovni řádků a nejsou zobrazena šedě jenom uživatelé s oprávněním Vydavatele nebo Správce obsahu.

Pokud sestava nemá požadované role, musíte ji otevřít v Power BI Desktopu, přidat nebo upravit role a pak ji uložit zpátky do Server sestav Power BI.

  1. V Power BI Desktopu uložte sestavu do Server sestav Power BI. Pro Server sestav Power BI musíte použít verzi Power BI Desktopu.

  2. Ve službě sestav Power BI vyberte tři tečky (...) vedle sestavy.

  3. Vyberte Spravovat>zabezpečení na úrovni řádků.

    Správa zabezpečení na úrovni řádků

    Na stránce zabezpečení na úrovni řádků přidáte členy do role, kterou jste vytvořili v Power BI Desktopu.

  4. Pokud chcete přidat člena, vyberte Přidat člena.

  5. Do textového pole zadejte uživatele nebo skupinu ve formátu uživatelské jméno (DOMAIN\user) a vyberte role, které chcete přiřadit. Člen musí být ve vaší organizaci.

    Přidání člena do role

    V závislosti na tom, jak jste nakonfigurovali Active Directory, funguje také zadání hlavního názvu uživatele. V takovém případě server sestav zobrazí v seznamu odpovídající uživatelské jméno.

  6. Chcete-li použít, klikněte na tlačítko OK .

  7. Pokud chcete členy odebrat, zaškrtněte políčko vedle jejich jmen a vyberte Odstranit. Můžete odstranit více členů najednou.

    Odstranění členů

username() a userprincipalname()

Můžete využít výhod funkcí DAX username() nebo userprincipalname() v rámci datové sady. Můžete je použít ve výrazech v Power BI Desktopu. Když model publikujete, Server sestav Power BI je použije.

V Power BI Desktopu vrátí uživatelské jméno() uživatele ve formátu DOMAIN\User a userprincipalname() ve formátu user@contoso.com.

V rámci Server sestav Power BI vrátí uživatelské jméno() i userprincipalname() jak hlavní název uživatele (UPN), což je podobné e-mailové adrese.

Pokud používáte vlastní ověřování v Server sestav Power BI, vrátí formát uživatelského jména, který jste nastavili pro uživatele.

Úvahy a omezení

Tady jsou aktuální omezení zabezpečení na úrovni řádků u modelů Power BI.

Uživatelé, kteří měli sestavy používající funkci DAX username(), si teď všimnou nového chování, kdy se hlavní název uživatele (UPN) vrátí s výjimkou použití DirectQuery s integrovaným zabezpečením. Vzhledem k tomu, že zabezpečení na úrovni řádků se v tomto scénáři nerespektuje, chování v tomto scénáři se nezmění.

Zabezpečení na úrovni řádků můžete definovat jenom u datových sad vytvořených v Power BI Desktopu. Pokud chcete povolit zabezpečení na úrovni řádků pro datové sady vytvořené v Excelu, musíte nejdřív převést soubory na soubory Power BI Desktopu (PBIX). Přečtěte si další informace o převodu excelových souborů.

Podporují se pouze extrakce, transformace, načítání (ETL) a připojení DirectQuery pomocí uložených přihlašovacích údajů. Živá připojení ke službě Analysis Services a připojení DirectQuery pomocí integrovaného ověřování se zpracovávají v podkladovém zdroji dat.

Pokud používáte integrované zabezpečení s DirectQuery, můžou si uživatelé všimnout:

  • Zabezpečení na úrovni řádků je zakázané a vrátí se všechna data.
  • Uživatelé nemůžou aktualizovat svá přiřazení rolí a na stránce Správa zabezpečení na úrovni řádků se zobrazí chyba.
  • Pro funkci uživatelského jména DAX budete nadále přijímat uživatelské jméno jako DOMAIN\USER.

Autoři sestav nemají přístup k zobrazení dat sestavy v Server sestav Power BI, dokud nebudou mít po nahrání sestavy odpovídající role.

Přiřazení rolí prostřednictvím členství ve skupinách se podporují jenom v případech, kdy je Server sestav Power BI nakonfigurované tak, aby běžela s ověřováním NTLM nebo Kerberos. Servery spuštěné s vlastním ověřováním nebo Windows Basic potřebují uživatele explicitně přiřazené k rolím.

Často kladené dotazy

Můžu tyto role vytvořit pro zdroje dat Analysis Services?

Pokud jste data naimportovali do Power BI Desktopu, můžete je importovat. Pokud používáte živé připojení, nemůžete nakonfigurovat zabezpečení na úrovni řádků v rámci služba Power BI. Zabezpečení na úrovni řádků je definováno v místním modelu Analysis Services.

Můžu pomocí zabezpečení na úrovni řádků omezit sloupce nebo míry přístupné mými uživateli?

Ne. Pokud má uživatel přístup k určitému řádku dat, může zobrazit všechny sloupce dat pro daný řádek.

Umožňuje zabezpečení na úrovni řádků skrýt podrobná data, ale udělit přístup k datům souhrnným ve vizuálech?

Ne, zabezpečíte jednotlivé řádky dat, ale uživatelé vždy uvidí podrobnosti nebo souhrnná data.

Můžu v Power BI Desktopu přidat nové role, pokud už mám přiřazené existující role a členy?

Ano, pokud už máte existující role definované a členy přiřazené v Server sestav Power BI, můžete vytvořit další role a znovu publikovat sestavu bez vlivu na aktuální přiřazení.

Máte ještě další otázky? Zkuste se zeptat Komunita Power BI