Zabezpieczenia na poziomie wiersza (RLS) w Serwer raportów usługi Power BI

Skonfigurowanie zabezpieczeń na poziomie wiersza przy użyciu Serwer raportów usługi Power BI może ograniczyć dostęp do danych dla danych dla danych użytkowników. Filtry ograniczają dostęp do danych na poziomie wiersza i można definiować filtry w ramach ról. Jeśli używasz domyślnych uprawnień w Serwer raportów usługi Power BI, każdy użytkownik z uprawnieniami wydawcy lub menedżera zawartości dla raportu usługi Power BI może przypisać członków do ról dla tego raportu.

Zabezpieczenia na poziomie wiersza można skonfigurować dla raportów zaimportowanych do usługi Power BI za pomocą programu Power BI Desktop. Zabezpieczenia na poziomie wiersza można również skonfigurować w raportach korzystających z trybu DirectQuery, takich jak program SQL Server. Należy pamiętać, że zabezpieczenia na poziomie wiersza nie są przestrzegane, jeśli połączenie DirectQuery używa zintegrowanego uwierzytelniania dla czytelników raportów. W przypadku połączeń na żywo usług Analysis Services należy skonfigurować zabezpieczenia na poziomie wiersza w modelu lokalnym. Opcja zabezpieczeń nie jest wyświetlana dla zestawów danych połączeń na żywo.

Definiowanie ról i reguł w programie Power BI Desktop

Role i reguły można zdefiniować w programie Power BI Desktop. Podczas publikowania w usłudze Power BI można również opublikować definicje ról.

Aby zdefiniować role zabezpieczeń:

  1. Zaimportuj dane do raportu programu Power BI Desktop lub skonfiguruj połączenie trybu DirectQuery.

    Uwaga

    Nie można definiować ról w programie Power BI Desktop dla połączeń na żywo usług Analysis Services. Należy to zrobić w modelu usług Analysis Services.

  2. Na karcie Modelowanie wybierz pozycję Zarządzaj rolami.

    Zrzut ekranu przedstawiający kartę Modelowanie z wyróżnioną pozycją Zarządzanie rolami.

  3. W oknie Zarządzanie rolami wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający okno Zarządzanie rolami z wyróżnionym pozycją Utwórz.

  4. W obszarze Role podaj nazwę roli.

    Uwaga

    Nie można zdefiniować roli z przecinkiem, na przykład London,ParisRole.

  5. W obszarze Tabele wybierz tabelę, do której chcesz zastosować regułę języka DAX (Data Analysis Expression).

  6. W polu Wyrażenie języka DAX filtru tabeli wprowadź wyrażenia języka DAX. To wyrażenie zwraca wartość true lub false. Na przykład: [Entity ID] = “Value”.

    Zrzut ekranu przedstawiający okno Zarządzanie rolami z wyróżnionym przykładowym wyrażeniem języka DAX.

    Uwaga

    W tym wyrażeniu można użyć nazwy użytkownika( ). Należy pamiętać, że nazwa użytkownika() ma format DOMAIN\username w programie Power BI Desktop. W usługa Power BI i Serwer raportów usługi Power BI jest ona w formacie głównej nazwy użytkownika (UPN). Alternatywnie można użyć nazwy userprincipalname(), która zawsze zwraca użytkownika w formacie głównej nazwy użytkownika, username@contoso.com.

  7. Po utworzeniu wyrażenia języka DAX zaznacz znacznik wyboru powyżej pola wyrażenia, aby zweryfikować wyrażenie.

    Zrzut ekranu przedstawiający okno wyrażenia języka DAX filtru tabeli z wyróżnionym znacznikem wyboru.

    Uwaga

    W tym polu wyrażenia użyj przecinków, aby oddzielić argumenty funkcji języka DAX, nawet jeśli używasz ustawień regionalnych, które zwykle używają separatorów średników (np. francuskich lub niemieckich).

  8. Wybierz pozycję Zapisz.

Nie można przypisywać użytkowników do roli w programie Power BI Desktop. Przypisujesz je w usługa Power BI. Zabezpieczenia dynamiczne w programie Power BI Desktop można włączyć, korzystając z funkcji języka DAX username() lub userprincipalname() oraz skonfigurowanych odpowiednich relacji.

Dwukierunkowe filtrowanie krzyżowe

Domyślnie filtrowanie zabezpieczeń na poziomie wiersza używa filtrów jednokierunkowych, niezależnie od tego, czy relacje są ustawione na jeden kierunek, czy dwukierunkowy. Możesz ręcznie włączyć dwukierunkowy filtrowanie krzyżowe z zabezpieczeniami na poziomie wiersza.

  • Zaznacz relację i zaznacz pole wyboru Zastosuj filtr zabezpieczeń w obu kierunkach .

    Stosowanie filtru zabezpieczeń

Zaznacz to pole wyboru podczas implementowania dynamicznych zabezpieczeń na poziomie wiersza na podstawie nazwy użytkownika lub identyfikatora logowania.

Aby dowiedzieć się więcej, zobacz Dwukierunkowe filtrowanie krzyżowe przy użyciu trybu DirectQuery w programie Power BI Desktop i oficjalny dokument techniczny Zabezpieczanie tabelarycznego semantycznego modelu analizy biznesowej.

Weryfikowanie ról w programie Power BI Desktop

Po utworzeniu ról przetestuj wyniki ról w programie Power BI Desktop.

  1. Na karcie Modelowanie wybierz pozycję Wyświetl jako.

    Zrzut ekranu przedstawiający kartę Modelowanie z wyróżnionym widokiem jako.

    Zostanie wyświetlone okno Wyświetl jako role , w którym są widoczne utworzone role.

    Zrzut ekranu przedstawiający okno Wyświetl jako role z wybraną wartością Brak.

  2. Wybierz utworzoną rolę. Następnie wybierz przycisk OK , aby zastosować tę rolę.

    Raport renderuje dane istotne dla tej roli.

  3. Możesz również wybrać pozycję Inny użytkownik i podać danego użytkownika.

    Zrzut ekranu przedstawiający okno Wyświetl jako role z wprowadzonym przykładowym użytkownikiem.

    Najlepiej podać główną nazwę użytkownika (UPN), ponieważ jest to usługa Power BI i Serwer raportów usługi Power BI.

    W programie Power BI Desktop inny użytkownik wyświetla różne wyniki tylko wtedy, gdy używasz zabezpieczeń dynamicznych na podstawie wyrażeń języka DAX. W takim przypadku należy uwzględnić nazwę użytkownika oraz rolę.

  4. Wybierz przycisk OK.

    Raport jest renderowany na podstawie tego, co filtry zabezpieczeń na poziomie wiersza umożliwiają użytkownikowi wyświetlanie.

    Uwaga

    Funkcja Wyświetl jako role nie działa w przypadku modeli DirectQuery z włączonym logowaniem jednokrotnym.

Dodawanie członków do ról

Po zapisaniu raportu w Serwer raportów usługi Power BI można zarządzać zabezpieczeniami i dodawać lub usuwać członków na serwerze. Tylko użytkownicy z uprawnieniami wydawcy lub menedżera zawartości dla raportu mają dostępną opcję zabezpieczeń na poziomie wiersza i nie są wyszarzone.

Jeśli raport nie ma potrzebnych ról, musisz otworzyć go w programie Power BI Desktop, dodać lub zmodyfikować role, a następnie zapisać go z powrotem do Serwer raportów usługi Power BI.

  1. W programie Power BI Desktop zapisz raport, aby Serwer raportów usługi Power BI. Musisz użyć wersji programu Power BI Desktop dla Serwer raportów usługi Power BI.

  2. W usłudze raportów usługi Power BI wybierz wielokropek (...) obok raportu.

  3. Wybierz pozycję Zarządzaj zabezpieczeniami> na poziomie wiersza.

    Zarządzanie zabezpieczeniami na poziomie wiersza

    Na stronie Zabezpieczenia na poziomie wiersza dodasz członków do roli utworzonej w programie Power BI Desktop.

  4. Aby dodać członka, wybierz pozycję Dodaj członka.

  5. Wprowadź użytkownika lub grupę w polu tekstowym w formacie Nazwa użytkownika (DOMENA\użytkownik) i wybierz role, które chcesz przypisać do nich. Członek musi należeć do organizacji.

    Dodawanie elementu członkowskiego do roli

    W zależności od tego, jak skonfigurowano usługę Active Directory, tutaj również działa wprowadzenie głównej nazwy użytkownika. W takim przypadku serwer raportów wyświetli odpowiednią nazwę użytkownika na liście.

  6. Kliknij przycisk OK , aby zastosować.

  7. Aby usunąć członków, zaznacz pole wyboru obok ich nazw i wybierz pozycję Usuń. Jednocześnie można usunąć wielu członków.

    Usuń członków

username() i userprincipalname()

Możesz skorzystać z funkcji języka DAX username() lub userprincipalname() w zestawie danych. Można ich używać w wyrażeniach w programie Power BI Desktop. Podczas publikowania modelu Serwer raportów usługi Power BI ich używa.

W programie Power BI Desktop nazwa użytkownika() zwraca użytkownika w formacie DOMAIN\User i userprincipalname() zwraca użytkownika w formacie user@contoso.com.

W Serwer raportów usługi Power BI nazwa użytkownika() i userprincipalname() zwracają główną nazwę użytkownika (UPN), która jest podobna do adresu e-mail.

Jeśli używasz uwierzytelniania niestandardowego w Serwer raportów usługi Power BI, zwraca on format nazwy użytkownika skonfigurowany dla użytkowników.

Rozważania i ograniczenia

Poniżej przedstawiono bieżące ograniczenia zabezpieczeń na poziomie wiersza w modelach usługi Power BI.

Użytkownicy, którzy mieli raporty korzystające z funkcji języka DAX username(), zauważą nowe zachowanie, gdy główna nazwa użytkownika (UPN) jest zwracana z wyjątkiem sytuacji, w której jest używana funkcja DirectQuery ze zintegrowanymi zabezpieczeniami. Ponieważ zabezpieczenia na poziomie wiersza nie są przestrzegane w tym scenariuszu, zachowanie w tym scenariuszu pozostaje niezmienione.

Zabezpieczenia na poziomie wiersza można definiować tylko w zestawach danych utworzonych za pomocą programu Power BI Desktop. Aby włączyć zabezpieczenia na poziomie wiersza dla zestawów danych utworzonych za pomocą programu Excel, musisz najpierw przekonwertować pliki na pliki programu Power BI Desktop (PBIX). Dowiedz się więcej o konwertowaniu plików programu Excel.

Obsługiwane są tylko połączenia wyodrębniania, przekształcania, ładowania (ETL) i zapytania bezpośredniego przy użyciu przechowywanych poświadczeń. Połączenia na żywo z usługami Analysis Services i połączeniami DirectQuery przy użyciu zintegrowanego uwierzytelniania są obsługiwane w bazowym źródle danych.

Jeśli używasz zintegrowanych zabezpieczeń z trybem DirectQuery, użytkownicy mogą zauważyć:

  • Zabezpieczenia na poziomie wiersza są wyłączone i zwracane są wszystkie dane.
  • Użytkownicy nie mogą aktualizować przypisań ról i otrzymują błąd na stronie Zarządzanie zabezpieczeniami na poziomie wiersza.
  • W przypadku funkcji nazwy użytkownika języka DAX możesz nadal otrzymywać nazwę użytkownika jako DOMENA\UŻYTKOWNIK.

Autorzy raportów nie mają dostępu do wyświetlania danych raportu w Serwer raportów usługi Power BI, dopóki nie przypiszą sobie ról odpowiednio po przekazaniu raportu.

Przypisania ról za pośrednictwem członkostwa w grupach są obsługiwane tylko wtedy, gdy Serwer raportów usługi Power BI jest skonfigurowany do uruchamiania z uwierzytelnianiem NTLM lub Kerberos. Serwery z uwierzytelnianiem niestandardowym lub Windows Basic potrzebują użytkowników jawnie przypisanych do ról.

Często zadawane pytania

Czy mogę utworzyć te role dla źródeł danych usług Analysis Services?

Dane można zaimportować do programu Power BI Desktop. Jeśli używasz połączenia na żywo, nie możesz skonfigurować zabezpieczeń na poziomie wiersza w ramach usługa Power BI. Zabezpieczenia na poziomie wiersza są definiowane w modelu usług Analysis Services lokalnie.

Czy mogę użyć zabezpieczeń na poziomie wiersza, aby ograniczyć kolumny lub miary dostępne dla moich użytkowników?

L.p. Jeśli użytkownik ma dostęp do określonego wiersza danych, może zobaczyć wszystkie kolumny danych dla tego wiersza.

Czy zabezpieczenia na poziomie wiersza pozwalają ukryć szczegółowe dane, ale zapewniają dostęp do danych podsumowanych w wizualizacjach?

Nie, zabezpieczasz poszczególne wiersze danych, ale użytkownicy zawsze widzą szczegóły lub podsumowane dane.

Czy mogę dodać nowe role w programie Power BI Desktop, jeśli mam już przypisane role i członków?

Tak, jeśli masz już zdefiniowane role i członków przypisanych w Serwer raportów usługi Power BI, możesz tworzyć dodatkowe role i ponownie publikować raport bez wpływu na bieżące przypisania.

Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI