Obmedzenie prístupu k údajom so zabezpečením na úrovni riadkov (RLS) pre Power BI Desktop

Zabezpečenie na úrovni riadkov v aplikácii Power BI Desktop umožňuje obmedziť určitým používateľom prístup k údajom. Filtre obmedzujú údaje na úrovni riadkov. Môžete ich definovať v rámci rolí.

Zabezpečenie na úrovni riadkov už môžete nakonfigurovať pre dátové modely importované do služby Power BI pomocou aplikácie Power BI Desktop. Zabezpečenie na úrovni riadkov môžete nakonfigurovať aj pre množiny údajov, ktoré používajú režim DirectQuery, ako je napríklad SQL Server. V minulosti bolo možné implementovať zabezpečenie na úrovni riadkov len v rámci lokálnych modelov služby Analysis Services mimo služby Power BI. Pre živé pripojenia služby Analysis Services môžete zabezpečenie na úrovni riadkov nakonfigurovať v lokálnom modeli. Možnosť zabezpečenia sa v prípade množín údajov s dynamickým pripojením nezobrazí.

Dôležité

Ak ste definovali roly alebo pravidlá v rámci služby Power BI, bude potrebné znova vytvoriť tieto roly v aplikácii Power BI Desktop a publikovať zostavu v službe. Prečítajte si ďalšie informácie o možnostiach zabezpečenia na úrovni riadkov v službe Power BI.

Definovanie rolí a pravidiel v aplikácii Power BI Desktop

V aplikácii Power BI Desktop môžete definovať roly a pravidlá. Pri publikovaní do služby Power BI sa budú publikovať aj definície rolí.

Ak chcete definovať roly zabezpečenia, postupujte podľa týchto krokov.

  1. Importujte údaje do zostavy Power BI Desktop alebo nakonfigurujte pripojenie DirectQuery.

    Poznámka

    V aplikácii Power BI Desktop nemožno definovať roly pre dynamické pripojenia služby Analysis Services. Tieto roly je potrebné definovať v rámci modelu služby Analysis Services.

  2. Na karte Modelovanie vyberte položku Spravovať roly.

    Vyberte položku Spravovať roly

  3. V okne Spravovať roly vyberte položku Vytvoriť.

    Vyberte položku Vytvoriť

  4. V časti Roly zadajte názov roly.

  5. V časti Tabuľky vyberte tabuľku, pre ktorú sa má použiť pravidlo DAX.

  6. Do poľa Tabuľka filtrovania výrazov DAX zadajte výrazy DAX. Tento výraz vráti hodnotu TRUE alebo FALSE. Napríklad: [Entity ID] = “Value”.

    Okno spravovania rolí

    Poznámka

    V tomto výraze môžete použiť parameter username() . Nezabudnite, že v aplikácii Power BI Desktop bude mať parameter username() formát DOMENA\menopouzivatela. V rámci služby Power BI a Power BI Report Servera nemá formát hlavného mena používateľa (UPN). Alternatívne môžete použiť parameter userprincipalname() , ktorý používateľa vždy vráti vo formáte hlavného mena používateľa, username@contoso.com.

  7. Po vytvorení výrazu DAX ho môžete overiť výberom znaku začiarknutia nad poľom výrazu.

    Overenie výrazu DAX

    Poznámka

    V tomto poli výrazu sa argumenty funkcie DAX oddeľujú čiarkami, aj keď používate miestne nastavenie, ktoré bežne používa bodkočiarky (napr. francúzština alebo nemčina).

  8. Vyberte položku Uložiť.

V aplikácii Power BI Desktop nemožno priradiť používateľov k rolám. Môžete ich priradiť v službe Power BI. V aplikácii Power BI Desktop môžete povoliť dynamické zabezpečenie tak, že použijete funkcie DAX s parametrami username() alebo userprincipalname() a nakonfigurujete správne vzťahy.

Overenie rolí v aplikácii Power BI Desktop

Po vytvorení rolí môžete výsledky rolí otestovať v aplikácii Power BI Desktop.

  1. Na karte Modelovanie vyberte položku Zobraziť ako.

    Výber položky Zobraziť ako roly

    Zobrazí sa okno Zobraziť ako roly, kde sa zobrazia roly, ktoré ste vytvorili.

    Okno Zobraziť ako roly

  2. Vyberte rolu, ktorú ste vytvorili, potom výberom položky OK túto rolu použite.

    Zostava vykreslí údaje relevantné pre danú rolu.

  3. Môžete tiež vybrať položku Iný používateľ a zadať daného používateľa.

    Výber iného používateľa

    Odporúča sa zadať hlavné meno používateľa (UPN), teda to, ktoré sa bude používať v službe Power BI a na Power BI Report Serveri.

    V aplikácii Power BI Desktop zobrazí možnosť Iný používateľ odlišné výsledky iba v prípade, ak používate dynamické zabezpečenie založené na výrazoch DAX.

  4. Vyberte tlačidlo OK.

    Zostava sa vykreslí na základe toho, čo daný používateľ môže vidieť.

Obmedzenia

Aktuálne obmedzenia zabezpečenia na úrovni riadkov v cloudových modeloch sú nasledovné:

  • Ak ste už predtým definovali roly a pravidlá v službe Power BI, musíte ich znovu vytvoriť v aplikácii Power BI Desktop.

  • Zabezpečenie na úrovni riadkov môžete definovať len pre množiny údajov vytvorené pomocou aplikácie Power BI Desktop. Ak chcete povoliť zabezpečenie na úrovni riadkov pre množiny údajov vytvorené v Exceli, musíte súbory najprv konvertovať na súbory aplikácie Power BI Desktop (PBIX). Ďalšie informácie

  • Podporované je len importovanie a pripojenia DirectQuery. Dynamické pripojenia k službám Analysis Services sa spracúvajú v lokálnom modeli.

Známe problémy

Ak sa pokúsite publikovať predtým publikovanú zostavu od spoločnosti Power BI Desktop, zobrazí sa známy problém, pri ktorom sa zobrazí chybové hlásenie. Scenár je takýto:

  1. Anna má množinu údajov s nakonfigurovaným zabezpečením na úrovni riadkov, ktorá je publikovaná v službe Power BI.

  2. Anna aktualizuje zostavu v aplikácii Power BI Desktop a opäť ju publikuje.

  3. Anne sa zobrazí chyba.

Alternatívne riešenie: Opätovne publikujte súbor aplikácie Power BI Desktop zo služby Power BI, kým sa tento problém nevyrieši. Môžete to urobiť výberom položky Získať údajové > súbory.

Najčastejšie otázky

Otázka: Ako postupovať, ak sme predtým vytvorili roly a pravidlá pre množinu údajov v službe Power BI? Ak nič neurobíme, budú naďalej fungovať?
Odpoveď: Nie, vizuály sa nevykreslia správne. Roly a pravidlá budete musieť znovu vytvoriť v aplikácii Power BI Desktop a potom zverejniť v službe Power BI.

Otázka: Môžem vytvoriť tieto roly pre zdroje údajov v službách Analysis Services?
Odpoveď: Áno, ak ste importovali údaje do aplikácie Power BI Desktop. Ak používate dynamické pripojenie, nebudete môcť v službe Power BI nakonfigurovať zabezpečenie na úrovni riadkov. To je definované lokálne v rámci modelu služieb Analysis Services.

Otázka: Môžem používať zabezpečenie na úrovni riadkov na ohraničenie stĺpcov alebo mierok, ktoré sú dostupné pre mojich používateľov?
Odpoveď: Nie, ak má používateľ prístup k určitému riadku údajov, vidí v tomto riadku všetky stĺpce údajov.

Otázka: Môžem pomocou zabezpečenia na úrovni riadkov skryť podrobné údaje, ale poskytnúť prístup k údajom zhrnutým vo vizuálnych prvkoch?
Odpoveď: Nie. Hoci zabezpečujete jednotlivé riadky údajov, používatelia vždy vidia podrobnosti alebo súhrnné údaje.

Otázka: Môj zdroj údajov už má definované roly zabezpečenia (napríklad SQL Server alebo roly SAP BW). Aký je vzťah medzi nimi a RLS?
Odpoveď: Odpoveď závisí od toho, či importujete údaje alebo používate DirectQuery. Ak importujete údaje do množiny údajov Power BI, roly zabezpečenia v zdroji údajov sa nepoužívajú. V tomto prípade by ste mali definovať RLS na vynútenie pravidiel zabezpečenia pre používateľov, ktorí sa pripájajú v službe Power BI. Ak používate DirectQuery, používajú sa roly zabezpečenia v zdroji údajov. Keď používateľ otvorí zostavu, Power BI odošle dotaz do základného zdroja údajov, ktorý použije pravidlá zabezpečenia na údaje na základe poverení používateľa.

Ďalšie kroky

Ďalšie informácie súvisiace s týmto článkom nájdete v nasledujúcich zdrojoch: