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. V tomto editoru můžete přepínat mezi výchozím rozevíracím rozhraním a rozhraním DAX. Při publikování do Power BI publikujete také definice rolí.
Definování rolí zabezpečení:
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.
Na kartě Modelování vyberte Spravovat role.
V okně Spravovat role vyberte Nový a vytvořte novou roli.
V části Role zadejte název role a vyberte Enter.
Poznámka:
Roli nemůžete definovat čárkou, například
London,ParisRole
.V části Vybrat tabulky vyberte tabulku, u které chcete použít filtr zabezpečení na úrovni řádků.
V části Filtrovat data definujte role pomocí výchozího editoru. Vytvořené výrazy vrátí hodnotu true nebo false.
Poznámka:
Ne všechny filtry zabezpečení na úrovni řádků podporované v Power BI je možné definovat pomocí výchozího editoru. Omezení zahrnují výrazy, které dnes lze definovat pouze pomocí jazyka DAX, včetně dynamických pravidel, jako jsou username() nebo userprincipalname(). Pokud chcete definovat role pomocí těchto filtrů, použijte editor DAX.
Volitelně vyberte Přepnout do editoru DAX a přepněte na použití editoru DAX a definujte svou roli. Výrazy jazyka DAX vrací hodnotu true nebo false. Například:
[Entity ID] = “Value”
. Editor DAX je dokončen s automatickým dokončováním vzorců (intellisense). Zaškrtnutím nad polem výrazu můžete ověřit výraz a tlačítko X nad polem výrazu a vrátit změny zpět.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). V tomto poli výrazu navíc používejte čárky k oddělení argumentů funkce DAX i v případě, že používáte národní prostředí, které obvykle používá oddělovače středníků, například francouzštinu nebo němčinu.
Výběrem možnosti Přepnout do výchozího editoru můžete přepnout zpět do výchozího editoru. Všechny změny provedené v obou rozhraních editoru se zachovají při přepínání rozhraní, pokud je to možné. Při definování role pomocí editoru DAX, který nelze definovat ve výchozím editoru, pokud se pokusíte přepnout na výchozí editor, zobrazí se výzva s upozorněním, že přepínání editorů může způsobit ztrátu některých informací. Chcete-li tyto informace zachovat, vyberte Zrušit a pokračujte pouze v úpravách této role v editoru DAX.
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á oddělovače středníků, například francouzštinu nebo němčinu.
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 .
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.
Na kartě Modelování vyberte Zobrazit jako.
Zobrazí se okno Zobrazit jako role , ve kterém vidíte role, které jste vytvořili.
Vyberte roli, kterou jste vytvořili. Potom zvolte OK , aby se tato role použila.
Sestava vykreslí data relevantní pro danou roli.
Můžete také vybrat jiného uživatele a zadat daného uživatele.
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.
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.
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.
Ve službě sestav Power BI vyberte tři tečky (...) vedle sestavy.
Vyberte Spravovat>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.
Pokud chcete přidat člena, vyberte Přidat člena.
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.
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.
Chcete-li použít, klikněte na tlačítko OK .
Pokud chcete členy odebrat, zaškrtněte políčko vedle jejich jmen a vyberte Odstranit. Můžete odstranit více členů najednou.
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í.
Související obsah
Máte ještě další otázky? Zkuste se zeptat Komunita Power BI