Zabezpečenie na úrovni riadkov (RLS) v Power BI

Zabezpečenie na úrovni riadkov v Power BI umožňuje obmedziť daným používateľom prístup k údajom. Filtre obmedzujú prístup k údajom na úrovni riadkov a vy môžete filtre definovať v rámci rolí. V služba Power BI majú používatelia s prístupom k pracovnému priestoru prístup k sémantickým modelom v tomto pracovnom priestore. Zabezpečenie na úrovni riadkov obmedzuje prístup k údajom iba pre používateľov s povoleniami Čitateľ . Nevzťahuje sa na Spravovanie, členov alebo prispievateľov.

Zabezpečenie na úrovni riadkov môžete nakonfigurovať pre dátové modely importované do Power BI pomocou služby Power BI. Zabezpečenie na úrovni riadkov môžete nakonfigurovať aj pre sémantické modely, ktoré používajú režim DirectQuery, ako je napríklad SQL Server. V prípade dynamických pripojení služby Analysis Services alebo Azure Analysis Services sa zabezpečenie na úrovni riadkov konfiguruje v modeli, nie v Službe Power BI. Možnosť zabezpečenia sa v sémantických modeloch dynamického pripojenia nezobrazí.

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 môžete publikovať aj definície rolí.

Definovanie rolí zabezpečenia:

  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é vykonať v rámci modelu služby Analysis Services.

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

    Snímka obrazovky karty Modelovanie so zvýraznenou možnosťou Spravovať roly.

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

    Snímka obrazovky okna Spravovať roly so zvýraznenou položkou Vytvoriť.

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

    Poznámka

    Rolu nemôžete definovať pomocou čiarky, napríklad London,ParisRole.

  5. V časti Tabuľky vyberte tabuľku, na ktorú chcete použiť pravidlo DAX (Data Analysis Expression).

  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”.

    Snímka obrazovky okna Spravovať roly so zvýrazneným príkladom výrazu DAX.

    Poznámka

    V tomto výraze môžete použiť parameter username( ). Uistite sa, že v aplikácii Power BI Desktop bude mať username() formát DOMENA\meno_používateľa . V služba Power BI a Power BI Report Serveri má formát hlavného mena používateľa (UPN). Prípadne 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.

    Snímka obrazovky okna Dax výrazu filtra tabuľky so zvýrazneným znakom začiarknutia.

    Poznámka

    V tomto poli výrazu oddeľte argumenty funkcie DAX č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žba Power BI. V aplikácii Power BI Desktop môžete povoliť dynamické zabezpečenie tak, že použijete funkcie DAX s parameterom username() alebo userprincipalname() a nakonfigurujete správne vzťahy.

V predvolenom nastavení používa filtrovanie zabezpečenia na úrovni riadkov jednosmerné filtre, či sú vzťahy nastavené na jeden smer alebo obojsmerne. Obojsmerný krížový filter so zabezpečením na úrovni riadkov môžete povoliť manuálne, keď vyberiete vzťah a začiarknete políčko Používanie filtrov zabezpečenia v oboch smeroch . Všimnite si, že ak sa tabuľka zúčastňuje na viacerých obojsmerných vzťahoch, môžete túto možnosť vybrať len pre jeden z týchto vzťahov. Túto možnosť vyberte, ak ste implementovali dynamické zabezpečenie na úrovni riadkov aj na úrovni servera, kde zabezpečenie na úrovni riadkov je na základe mena používateľa alebo prihlasovacieho ID.

Ďalšie informácie nájdete v technickom článku Obojsmerné krížové filtrovanie pomocou režimu DirectQuery v službe Power BI a Zabezpečenie tabuľkového sémantického modelu BI.

Snímka obrazovky znázorňujúca začiarkavacie políčko použiť filter zabezpečenia.

Definovanie rolí a pravidiel v Power BI pomocou rozšíreného editora zabezpečenia na úrovni riadkov (Preview)

Pomocou rozšíreného editora zabezpečenia na úrovni riadkov môžete v službe Power BI rýchlo a jednoducho definovať roly zabezpečenia na úrovni riadkov. Pomocou tohto editora môžete prepínať medzi predvoleným rozbaľovacím rozhraním a rozhraním DAX. Pri publikovaní do služby Power BI môžete publikovať aj definície rolí.

Definovanie rolí zabezpečenia pomocou vylepšeného editora zabezpečenia na úrovni riadkov:

  1. V aplikácii Power BI Desktop povoľte ukážku prechodom na položky Súbory > Možnosti a Nastavenia > možnosti > ukážky funkcií a zapnite rozšírený editor zabezpečenia na úrovni riadkov. Prípadne môžete tento editor použiť v službe úpravou dátového modelu v služba Power BI.

  2. Import údajov do sémantického modelu služby Power BI alebo konfigurácia pripojenia DirectQuery.

  3. Na páse s nástrojmi vyberte položku Spravovať roly.

    Snímka obrazovky tlačidla Spravovať roly na páse s nástrojmi aplikácie Desktop.

  4. V okne Spravovať roly vyberte položku Nové a vytvorte novú rolu.

    Snímka obrazovky znázorňujúca vytvorenie novej roly v rozšírenom editore zabezpečenia na úrovni riadkov.

  5. V časti Roly zadajte názov roly a vyberte položku Zadajte.

    Snímka obrazovky znázorňujúca premenovanie roly v rozšírenom editore zabezpečenia na úrovni riadkov.

  6. V časti Vybrať tabuľky vyberte tabuľku, pre ktorú chcete použiť filter zabezpečenia na úrovni riadkov.

  7. V časti Filtrovanie údajov definujte roly pomocou predvoleného editora. Vytvorené výrazy vrátia hodnotu true alebo false.

    Snímka obrazovky znázorňujúca príklad použitia predvoleného editora v rozšírenom editore zabezpečenia na úrovni riadkov.

    Poznámka

    Niektoré filtre zabezpečenia na úrovni riadkov podporované v službe Power BI nie je možné definovať pomocou predvoleného editora. Obmedzenia zahŕňajú výrazy, ktoré v súčasnosti možno definovať iba pomocou jazyka DAX vrátane dynamických pravidiel, ako napríklad username() alebo userprincipalname(). Ak chcete definovať roly pomocou týchto filtrov, prejdite na editor DAX.

  8. Môžete tiež vybrať položku Prepnúť do editora DAX a prepnúť na definovanie svojej roly pomocou editora DAX. Výberom položky Prepnúť na predvolený editor sa môžete prepnúť späť na predvolený editor. Ak je to možné, všetky zmeny vykonané v niektorom rozhraní editora sa zachovajú aj pri prepnutí rozhraní.

    Snímka obrazovky znázorňujúca príklad použitia editora DAX v rozšírenom editore zabezpečenia na úrovni riadkov.

    Pri definovaní roly pomocou editora DAX, ktorý nemožno definovať v predvolenom editore, sa pri pokuse o prepnutie do predvoleného editora zobrazí upozornenie, že prepínanie editorov môže spôsobiť stratu niektorých informácií. Ak chcete tieto informácie zachovať, vyberte položku Zrušiť a pokračujte iba v úpravách tejto roly v editore DAX.

    Snímka obrazovky zobrazujúca dialógové okno s príkladom chyby pri prepnutí z editora jazyka DAX na predvolený v rozšírenom editore zabezpečenia na úrovni riadkov.

  9. Stlačte možnosť Uložiť

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.

    Snímka obrazovky karty Modelovanie so zvýraznením Zobraziť ako.

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

    Snímka obrazovky okna Zobraziť ako roly s vybratou možnosťou Žiadne.

  2. Vyberte rolu, ktorú ste vytvorili. Potom vyberte položku OK a použite túto rolu.

    Zostava vykreslí údaje relevantné pre túto rolu.

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

    Snímka obrazovky okna Zobraziť ako roly so zadaným príkladom používateľa.

    Odporúča sa zadať hlavné meno používateľa (UPN), pretože to je to, ktoré používajú služba Power BI a Power BI Report Server.

    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 dax výrazoch. V tomto prípade je potrebné zahrnúť meno používateľa aj rolu.

  4. Vyberte položku OK.

    Zostava sa vykreslí na základe toho, čo filtre zabezpečenia na úrovni riadkov umožňujú používateľovi zobraziť.

    Poznámka

    Funkcia Zobraziť ako roly nefunguje v modeloch DirectQuery s povoleným jediným prihlásením (SSO).

Správa zabezpečenia v modeli

Ak chcete spravovať zabezpečenie v sémantickom modeli, otvorte pracovný priestor, v ktorom ste uložili sémantický model v služba Power BI, a vykonajte nasledujúce kroky:

  1. Na služba Power BI vyberte ponuku Ďalšie možnosti pre sémantický model. Táto ponuka sa zobrazí, keď ukážete na názov sémantického modelu, či už ho vyberiete v navigačnej ponuke alebo na stránke pracovného priestoru.

    Snímka obrazovky zobrazujúca ponuku Ďalšie možnosti v pracovnom priestore.

    Snímka obrazovky zobrazujúca ponuku Ďalšie možnosti v navigačnej ponuke.

  2. Vyberte Zabezpečenie.

    Snímka obrazovky zobrazujúca ponuku Ďalšie možnosti s vybratou možnosťou Zabezpečenie.

Zabezpečenie vás prestúpi na stránku Zabezpečenie na úrovni roly, kde môžete pridávať členov k rolám, ktoré ste vytvorili. Prispievateľ (a vyššie roly pracovného priestoru) uvidí zabezpečenie a môže priradiť používateľov k role.

Práca s členmi

Pridať členov

V služba Power BI môžete do roly pridať člena zadaním e-mailovej adresy alebo mena používateľa alebo skupiny zabezpečenia. Skupiny vytvorené v službe Power BI nie je možné pridávať. Môžete pridávať členov, ktorí nie sú členmi vašej organizácie.

Na nastavenie zabezpečenia na úrovni riadkov môžete použiť nasledujúce skupiny.

Skupiny v Microsoft 365 nie sú podporované a nemožno ich pridať do žiadnych rolí.

Snímka obrazovky zobrazujúca spôsob pridania člena.

Podľa čísla v zátvorkách vedľa názvu roly alebo vedľa položky Členovia môžete tiež zistiť, koľko členov má priradených danej roly.

Snímka obrazovky znázorňujúca členov v role.

Odobratie členov

Členov môžete odstrániť výberom symbolu X vedľa ich mena.

Snímka obrazovky zobrazujúca, ako odobrať člena.

Overenie roly v rámci služba Power BI

Správnu funkčnosť definovanej roly v služba Power BI môžete overiť jej otestovaním.

  1. Vyberte položku Ďalšie možnosti (...) vedľa roly.
  2. Vyberte položku Otestovať ako rolu.

Snímka obrazovky s možnosťou Otestovať ako rolu.

Budete presmerovaní na zostavu, ktorá bola publikovaná z aplikácie Power BI Desktop s týmto sémantickým modelom, ak existuje. Tabule nie sú k dispozícii na testovanie pomocou možnosti Testovať ako rolu.

V hlavičke stránky sa zobrazuje používaná rola. Výberom možnosti Teraz sa zobrazuje ako otestujte iné roly, kombináciu rolí alebo konkrétnu osobu. Tu vidíte dôležité podrobnosti povolení týkajúce sa testovanej osoby alebo roly. Ďalšie informácie o spôsobe interakcie povolení so zabezpečením na úrovni riadkov nájdete v téme Používateľské prostredie zabezpečenia na úrovni riadkov.

Snímka obrazovky znázorňujúca rozbaľovací zoznam Teraz sa zobrazuje ako konkrétna osoba.

Otestujte iné zostavy pripojené k sémantickému modelu výberom položky Zobrazenie v hlavičke stránky. Môžete testovať iba zostavy, ktoré sa nachádzajú v tom istom pracovnom priestore ako váš sémantický model.

Snímka obrazovky zobrazujúca zobrazenie s cieľom vybrať inú zostavu na testovanie.

Ak sa chcete vrátiť do normálneho zobrazenia, vyberte položku Naspäť na zabezpečenie na úrovni riadkov.

Poznámka

Funkcia Testovať ako rolu nefunguje v modeloch DirectQuery s povoleným jediným prihlásením (SSO). Okrem toho nie všetky aspekty zostavy je možné overiť v funkcii Testovať ako rolu vrátane vizualizácií funkcie Q&A, vizualizácií Rýchle prehľady a Copilot.

Používanie funkcie username() alebo userprincipalname() jazyka DAX

Vo svojej množine údajov môžete využiť parametre username() alebo userprincipalname() funkcie DAX. Môžete ich použiť v rámci výrazov v aplikácii Power BI Desktop. Keď model publikujete, použije sa v rámci služba Power BI.

V aplikácii Power BI Desktop vráti username() používateľa vo formáte DOMÉNA\Používateľ a userprincipalname() používateľa vo formáte user@contoso.com.

V služba Power BI username() aj userprincipalname() vrátia hlavné meno používateľa (UPN). Je podobné e-mailovej adrese.

Používanie zabezpečenia na úrovni riadkov s pracovnými priestormi v službe Power BI

Ak publikujete zostavu aplikácie Power BI Desktop do pracovného priestoru v služba Power BI, roly zabezpečenia na úrovni riadkov sa použijú na členov, ktorí majú v pracovnom priestore priradenú rolu Čitateľ. Aj v prípade, že diváci majú k sémantickému modelu povolenia na vytváranie, zabezpečenie na úrovni riadkov sa stále používa. Ak napríklad používatelia s povoleniami na vytváranie používajú funkciu Analyzovať v Exceli, ich zobrazenie údajov je obmedzené zabezpečením na úrovni riadkov. Členovia pracovného priestoru s priradenými Spravovanie, členom alebo prispievateľom majú povolenie na úpravu pre sémantický model, a preto sa na nich zabezpečenie na úrovni riadkov nevzťahuje. Ak chcete, aby sa zabezpečenie na úrovni riadkov vzťahovalo na ľudí v pracovnom priestore, môžete im priradiť len rolu Čitateľ . Prečítajte si viac o rolách v pracovných priestoroch.

Dôležité informácie a obmedzenia

Aktuálne obmedzenia pre zabezpečenie na úrovni riadkov v cloudových modeloch si môžete pozrieť tu:

  • Ak ste už predtým definovali roly a pravidlá v služba Power BI, musíte ich znovu vytvoriť v aplikácii Power BI Desktop.
  • Zabezpečenie na úrovni riadkov môžete definovať len pre sémantické modely vytvorené pomocou aplikácie Power BI Desktop. Ak chcete povoliť zabezpečenie na úrovni riadkov pre sémantické modely vytvorené v Exceli, musíte súbory najprv konvertovať na súbory aplikácie Power BI Desktop (PBIX). Získajte ďalšie informácie.
  • Objekty služby nie je možné pridať do roly zabezpečenia na úrovni riadkov. Zabezpečenie na úrovni riadkov sa preto nepoužije na aplikácie, ktoré používajú objekt služby ako konečnú efektívnu identitu.
  • Podporované je len importovanie a pripojenia DirectQuery. Dynamické pripojenia k službe Analysis Services sa spracovávajú v lokálnom modeli.
  • Funkcia Testovať ako rolu alebo Zobraziť ako rolu nefunguje v modeloch DirectQuery s povoleným jediným prihlásením (SSO).
  • Funkcia Otestovať ako rolu alebo zobraziť ako rolu zobrazuje iba zostavy zo sémantických modelov pracovného priestoru.
  • Funkcia Testovať ako rolu alebo Zobraziť ako rolu nefunguje v stránkovaných zostavách.

Majte na pamäti, že ak zostava služby Power BI odkazuje na riadok s nakonfigurovaným zabezpečením na úrovni riadkov, potom sa zobrazí rovnaká správa ako pre odstránené alebo neexistujúcie pole. Pre týchto používateľov to vyzerá tak, že zostava je nefunkčná.

Najčastejšie otázky

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

Otázka: Môžem vytvoriť tieto roly pre zdroje údajov v službe Analysis Services?
Odpoveď: Áno, ak ste importovali údaje do aplikácie Power BI Desktop. Ak používate dynamické pripojenie, nemôžete v služba Power BI nakonfigurovať zabezpečenie na úrovni riadkov. Zabezpečenie na úrovni riadkov môžete definovať lokálne v modeli Analysis Services.

Otázka: Môžem používať zabezpečenie na úrovni riadkov na obmedzenie 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 danom riadku všetky stĺpce údajov. Ak chcete obmedziť prístup k stĺpcom a metaúdajom stĺpcov, zvážte použitie zabezpečenia na úrovni objektu.

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 roly SQL Servera alebo roly SAP BW). Aký je vzťah medzi týmito rolami a zabezpečením na úrovni riadkov?
Odpoveď: Odpoveď závisí od toho, či importujete údaje alebo používate DirectQuery. Ak importujete údaje do množiny údajov služby Power BI, roly zabezpečenia v zdroji údajov sa nepoužívajú. V tomto prípade by ste mali definovať zabezpečenie na úrovni riadkov na vynútenie pravidiel zabezpečenia pre používateľov, ktorí sa pripájajú v službe Power BI. Ak používate Režim DirectQuery, použijú 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.

Otázka: Môže používateľ patriť do viac ako jednej roly?
Odpoveď: Používateľ môže patriť do viacerých rolí a roly sú s pripočítané. Napríklad, ak používateľ patrí k rolám Predaj aj Marketing, môže zobraziť údaje pre obe tieto roly.

Máte nejaké otázky? Skúste sa spýtať Komunita Power BI návrhy? Prispejte nápadmi na zlepšenie služby Power BI