Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Bezpieczeństwo: RLS, OLS i etykiety poufności

RLS nie działa w usłudze Power BI - administrator obszaru widzi wszystko

W skrócie

  • RLS nie działa w usłudze Power BI, gdy raport otwiera osoba z rolą obszaru roboczego Administrator, Członek albo Współautor. Widzi całą sieć Nordvelli, 467,78 mln zł, choć w Power BI Desktop rola Region Południe pokazywała 83,46 mln zł.
  • Według dokumentacji Microsoft reguły RLS ograniczają tylko osoby z uprawnieniem do odczytu modelu. Role Administrator, Członek i Współautor dają uprawnienie do zapisu, a przy nim RLS się nie stosuje, nawet gdy ta osoba jest przypisana do roli.
  • Odbiorców dodajesz jako Osoba przeglądająca albo przez aplikację, przypisujesz ich do ról na stronie Zabezpieczenia na poziomie wiersza i sprawdzasz efekt poleceniem Testuj jako rola, a nie na własnym koncie autora.

W Power BI Desktop podgląd roli pokazywał trzy sklepy, a po publikacji raport otwarty w przeglądarce pokazuje całą sieć albo kierownik regionu zgłasza, że widzi dane wszystkich sklepów. Wygląda to tak, jakby RLS nie działał w usłudze Power BI. Pokazujemy, skąd bierze się ten efekt, jak odróżnić go od błędu w samej regule i jak sprawdzić role w usłudze na modelu Nordvelli z kursu.

Jak to wygląda w praktyce

Model Nordvelli ma sześć ról, między innymi Region Południe z regułą [Region] == "Południe" na tabeli DimSklepy. W Desktopie po włączeniu Wyświetl jako z tą rolą karta sprzedaży spada z 468 mln zł do 83 mln zł, a w tabeli zostają trzy sklepy: Katowice, Kraków Galeria i Kraków Stare Miasto. Po publikacji autor otwiera raport w usłudze swoim kontem i widzi całą sieć. W lekcji 23 karta pokazała tam administratorowi obszaru 468 mln zł, tyle samo co Desktop bez roli, choć model miał już role. Tak samo zachowuje się analityk dodany do obszaru jako Członek, nawet jeśli na stronie ról przypisano go do Region Południe.

Żaden komunikat nie mówi, że rola została pominięta. Raport wygląda normalnie, liczby są poprawne dla całej sieci, więc problem wychodzi dopiero przy porównaniu z podglądem z Desktopu. Odwrotny objaw, czyli pusty raport u osoby, która powinna widzieć swój region, ma inne przyczyny.

Dlaczego tak się dzieje

Rola w obszarze roboczym i rola RLS to dwa różne mechanizmy. Rola obszaru (Administrator, Członek, Współautor, Osoba przeglądająca) decyduje, kto edytuje i publikuje. Rola RLS, czyli reguła zabezpieczeń na poziomie wiersza zapisana w modelu, decyduje, które wiersze ktoś zobaczy. Według dokumentacji Microsoft RLS ogranicza wyłącznie osoby z uprawnieniem do odczytu modelu semantycznego. Administrator, Członek i Współautor mają uprawnienie do zapisu, czyli do edycji modelu, i widzą wszystkie dane niezależnie od przypisania do ról. To samo dotyczy osoby, której nadano uprawnienie zapisu bezpośrednio na modelu. Uprawnienie Kompilacja RLS nie omija: osoba przeglądająca z tym uprawnieniem, także przy poleceniu Analizuj w programie Excel, dalej widzi tylko swoje wiersze.

Usługa mówi o podziale ról w panelu dodawania osób do obszaru: „Administratorzy, członkowie i współautorzy mają dostęp do edytowania i wyświetlania. Osoby przeglądające mają tylko dostęp do widoku.” Przy testowaniu roli na konkretnej osobie ma też komunikat „Pamiętaj, że personifikowany użytkownik ma uprawnienie do zapisu w zestawie danych. Nie zostaną zastosowane żadne role zabezpieczeń na poziomie wierszy.” Autor modelu jest zwykle administratorem obszaru, dlatego test na własnym koncie niczego nie dowodzi. Uprawnienia każdej roli obszaru opisujemy w poście o rolach w obszarze roboczym.

Nie każdy nadmiar danych wynika z roli obszaru. W lekcji 21 reguła na tabeli mapującej MapaManagerow była aktywna, a raport i tak pokazywał 468 mln zł, bo filtr nie dochodził przez relację do sprzedaży. Trzecia przyczyna to osoba w dwóch rolach, z których jedna daje szeroki dostęp, opisana w poście o użytkowniku w dwóch rolach RLS.

Panel Dodaj osoby w obszarze roboczym Power BI: role Administrator, Członek, Współautor i Osoba przeglądająca
Komunikat w panelu mówi, że administratorzy, członkowie i współautorzy mają dostęp do edytowania i wyświetlania, a osoby przeglądające tylko do widoku. Reguły RLS działają wyłącznie na osobach przeglądających.

Co zrobić krok po kroku

  1. W obszarze roboczym kliknij Zarządzaj dostępem i znajdź osobę, która widzi za dużo. Jeśli ma rolę Administrator, Członek albo Współautor, a ma tylko oglądać raport, zmień jej rolę na Osoba przeglądająca. Gdy musi edytować raporty w tym obszarze, RLS jej nie ograniczy, bo rola obszaru daje jej uprawnienie do zapisu modelu, który w nim leży. Dokumentacja Microsoft opisuje na taki przypadek osobny obszar na sam model semantyczny, w którym ta osoba ma tylko uprawnienie do odczytu.
  2. Odbiorców, którzy nie potrzebują obszaru, dodawaj przez aplikację albo udostępnienie raportu. Według dokumentacji Microsoft RLS działa także wtedy, a w lekcji 23 dyrektorzy regionów dostawali samą aplikację, bez dostępu do obszaru. O licencjach potrzebnych do udostępnienia piszemy w poście o odbiorcy, który nie widzi udostępnionego raportu.
  3. Sprawdź przypisania do ról. Przy modelu semantycznym kliknij Więcej opcji (trzy kropki) i wybierz Zabezpieczenia. Na stronie Zabezpieczenia na poziomie wiersza przy każdej roli widać w nawiasie liczbę członków. Kliknij rolę, w polu Osoby lub grupy należące do tej roli wpisz adres albo grupę zabezpieczeń, kliknij Dodaj, a na koniec Zapisz. W Desktopie osób do ról nie przypiszesz, według dokumentacji Microsoft robi się to w usłudze, a grup Microsoft 365 nie da się dodać do ról RLS.
  4. Przetestuj rolę w usłudze, a nie na swoim koncie. Na tej samej stronie najedź na rolę, kliknij trzy kropki obok jej nazwy i wybierz Testuj jako rola. Raport otworzy się z paskiem Przeglądanie jako: i nazwą roli. W kursie rola Region Południe pokazała tu 83 460 430 zł z trzech sklepów, tyle samo co w Desktopie. Według dokumentacji z tego paska wybierzesz też inną rolę, kilka ról albo konkretną osobę.
  5. Gdy osoba przeglądająca nadal widzi za dużo, problem jest w modelu. W Desktopie włącz Wyświetl jako z jej rolą, otwórz widok zapytań w języku DAX i uruchom zapytanie poniżej. Pod rolą Manager sklepu z adresem piotr.nowak@nordvella.pl zwraca ten adres, 1 sklep i 1 wiersz mapy. Bez roli widzi cały model: połączeniem z uprawnieniami autora dostaliśmy nazwę konta Windows, 15 sklepów i 6 wierszy mapy, choć model ma sześć ról.
    EVALUATE
    ROW (
        "Zalogowany", USERPRINCIPALNAME (),
        "Sklepy widoczne", COUNTROWS ( DimSklepy ) + 0,
        "Wiersze mapy", COUNTROWS ( MapaManagerow ) + 0
    )
  6. Jeśli pod rolą liczba sklepów jest poprawna, a sprzedaż dalej pełna, filtr nie płynie przez relację. W widoku tabeli pod rolą Region Południe tabela DimSklepy ma 3 wiersze, a FaktSprzedaz 19 709 zamiast 108 675. Gdy fakty mają pełną liczbę wierszy, sprawdź, czy relacja DimSklepy do FaktSprzedaz jest aktywna i idzie po SklepID, a reguła leży na wymiarze, nie na tabeli mapującej.

Jak sprawdzić, że problem zniknął

Naprawione, gdy osoba przeglądająca, zalogowana własnym kontem, widzi te same liczby co po poleceniu Testuj jako rola i w podglądzie z Desktopu, w Nordvelli 83 460 430 zł dla roli Region Południe. Sprawdź to na koncie odbiorcy albo na koncie testowym w roli Osoba przeglądająca. W kursie do roli Region Południe dodaliśmy jedno konto testowe.

Rozdziel role już przy zakładaniu obszaru, tak jak w lekcji o obszarach roboczych i czterech rolach: analitycy jako Członek albo Współautor, odbiorcy jako Osoba przeglądająca albo przez aplikację. Do ról RLS przypisuj grupy zabezpieczeń z Microsoft Entra ID zamiast pojedynczych kont. Przed publikacją przejdź listę kontrolną: każda rola sprawdzona w Wyświetl jako, rola dynamiczna dla co najmniej dwóch kierowników i dla adresu spoza mapy, relacje od wymiarów do faktów pojedyncze i aktywne.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Row-level security (RLS) with Power BI (Viewer, Test as role, role members) (źródło)
  • Microsoft Learn: Report consumer security planning (Read, Build i Write a RLS) (źródło)
  • Microsoft Learn: Roles in workspaces in Power BI (źródło)
  • Kurs Power BI, lekcja 21 (role w usłudze, Testuj jako rola, częste problemy z RLS) i lekcja 23 (obszar roboczy i cztery role)
  • Sprawdzone zapytaniem DAX na modelu Nordvelli: bez roli 15 sklepów i 6 wierszy mapy przy sześciu rolach w modelu

Zachowanie programu sprawdziliśmy w Power BI Desktop 2.157 (wydanie z sierpnia 2026 r.) z polskim interfejsem, a przykłady na modelu sieci Nordvella z bezpłatnego kursu Power BI. Microsoft wydaje nową wersję Power BI Desktop co miesiąc, więc nazwy przycisków i limity usługi mogą się zmieniać. Aktualne wartości podaje dokumentacja Microsoft Learn.

Wróć do listy: 131 najczęstszych pytań i problemów związanych z Power BI

Najczęściej zadawane pytania

Dlaczego RLS nie działa dla administratora obszaru roboczego w Power BI?
Według dokumentacji Microsoft reguły RLS ograniczają tylko osoby z uprawnieniem do odczytu modelu semantycznego. Role obszaru Administrator, Członek i Współautor dają uprawnienie do zapisu, więc te osoby widzą wszystkie dane, nawet gdy są przypisane do roli. Odbiorców, których ma ograniczać RLS, dodaje się jako Osoba przeglądająca albo przez aplikację.
Jak przetestować RLS w usłudze Power BI?
Przy modelu semantycznym wybierz Więcej opcji, potem Zabezpieczenia, najedź na rolę i wybierz Testuj jako rola. Raport otworzy się z paskiem Przeglądanie jako i nazwą roli. W kursie Power BI rola Region Południe pokazała tam 83 460 430 zł z trzech sklepów, tyle samo co podgląd Wyświetl jako w Power BI Desktop.
Czy uprawnienie Kompilacja omija RLS w Power BI?
Nie. Według dokumentacji Microsoft osoba przeglądająca z uprawnieniem Kompilacja dalej podlega RLS, także gdy korzysta z Analizuj w programie Excel. RLS przestaje działać dopiero przy uprawnieniu zapisu, które dają role Administrator, Członek i Współautor albo uprawnienie zapisu nadane bezpośrednio na modelu.
Gdzie przypisać osoby do ról RLS w Power BI?
W usłudze Power BI, przy modelu semantycznym, poleceniem Więcej opcji i Zabezpieczenia. Na stronie Zabezpieczenia na poziomie wiersza klikasz rolę, wpisujesz adres albo grupę zabezpieczeń, klikasz Dodaj i Zapisz. W Power BI Desktop tworzy się role i reguły, a osoby przypisuje się dopiero w usłudze po publikacji.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...