Zabezpieczenia na poziomie wiersza w usłudze Power BI

Zabezpieczenia na poziomie wiersza w usłudze Power BI mogą służyć do ograniczania dostępu do danych dla określonych użytkowników. Filtry ograniczają dostęp do danych na poziomie wiersza i można definiować filtry w ramach ról. W usługa Power BI użytkownicy z dostępem do obszaru roboczego mają dostęp do modeli semantycznych w tym obszarze roboczym. Zabezpieczenia na poziomie wiersza ograniczają tylko dostęp do danych dla użytkowników z uprawnieniami osoby przeglądającego . Nie dotyczy Administracja, członków ani współautorów.

Zabezpieczenia na poziomie wiersza można skonfigurować dla modeli danych importowanych do usługi Power BI za pomocą usługi Power BI. Zabezpieczenia na poziomie wiersza można również skonfigurować na semantycznych modelach korzystających z trybu DirectQuery, takich jak program SQL Server. W przypadku połączeń usług Analysis Services lub Azure Analysis Services należy skonfigurować zabezpieczenia na poziomie wiersza w modelu, a nie w usłudze Power BI. Opcja zabezpieczeń nie jest wyświetlana dla modeli semantycznych 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.

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ć dwukierunkowe filtrowanie krzyżowe z zabezpieczeniami na poziomie wiersza, zaznaczając relację i zaznaczając pole wyboru Zastosuj filtr zabezpieczeń w obu kierunkach . Należy pamiętać, że jeśli tabela bierze udział w wielu relacjach dwukierunkowych, możesz wybrać tę opcję tylko dla jednej z tych relacji. Wybierz tę opcję po zaimplementowaniu dynamicznych zabezpieczeń na poziomie wiersza na poziomie serwera, gdzie zabezpieczenia na poziomie wiersza są oparte na nazwie użytkownika lub identyfikatorze logowania.

Aby uzyskać więcej informacji, zobacz Dwukierunkowe filtrowanie krzyżowe przy użyciu zapytania bezpośredniego w usłudze Power BI i artykuł techniczny Zabezpieczanie tabelarycznego modelu semantycznego analizy biznesowej.

Zrzut ekranu przedstawiający zastosowany filtr zabezpieczeń.

Definiowanie ról i reguł w usłudze Power BI przy użyciu rozszerzonego edytora zabezpieczeń na poziomie wiersza (wersja zapoznawcza)

Role i filtry na poziomie wiersza można szybko i łatwo definiować w usłudze Power BI przy użyciu ulepszonego edytora zabezpieczeń na poziomie wiersza. Za pomocą tego edytora można przełączać się między użyciem domyślnego interfejsu rozwijanego i interfejsu języka DAX. Podczas publikowania w usłudze Power BI można również opublikować definicje ról.

Aby zdefiniować role zabezpieczeń przy użyciu rozszerzonego edytora zabezpieczeń na poziomie wiersza:

  1. W programie Power BI Desktop włącz podgląd, przechodząc do pozycji Opcje plików > i funkcje Ustawienia > Opcje > w wersji zapoznawczej i włącz opcję "Rozszerzony edytor zabezpieczeń na poziomie wiersza". Możesz też użyć tego edytora w usłudze, edytując model danych w usługa Power BI.

  2. Zaimportuj dane do modelu semantycznego usługi Power BI lub skonfiguruj połączenie trybu DirectQuery.

  3. Na wstążce wybierz pozycję Zarządzaj rolami.

    Zrzut ekranu przedstawiający przycisk Zarządzaj rolami na wstążce Pulpit.

  4. W oknie Zarządzanie rolami wybierz pozycję Nowy, aby utworzyć nową rolę.

    Zrzut ekranu przedstawiający tworzenie nowej roli w rozszerzonym edytorze zabezpieczeń na poziomie wiersza.

  5. W obszarze Role podaj nazwę roli i wybierz klawisz Enter.

    Zrzut ekranu przedstawiający zmianę nazwy roli w rozszerzonym edytorze zabezpieczeń na poziomie wiersza.

  6. W obszarze Wybierz tabele wybierz tabelę, do której chcesz zastosować filtr zabezpieczeń na poziomie wiersza.

  7. W obszarze Filtruj dane użyj edytora domyślnego, aby zdefiniować role. Utworzone wyrażenia zwracają wartość true lub false.

    Zrzut ekranu przedstawiający przykład użycia edytora domyślnego w rozszerzonym edytorze zabezpieczeń na poziomie wiersza.

    Uwaga

    Nie wszystkie filtry zabezpieczeń na poziomie wiersza obsługiwane w usłudze Power BI można zdefiniować przy użyciu edytora domyślnego. Ograniczenia obejmują wyrażenia, które obecnie można zdefiniować tylko przy użyciu języka DAX, w tym reguły dynamiczne, takie jak username() lub userprincipalname(). Aby zdefiniować role za pomocą tych filtrów, przejdź do edytora języka DAX.

  8. Opcjonalnie wybierz pozycję Przełącz do edytora języka DAX, aby przełączyć się w celu zdefiniowania roli za pomocą edytora języka DAX. Możesz wrócić do domyślnego edytora, wybierając pozycję Przełącz do domyślnego edytora. Wszystkie zmiany wprowadzone w interfejsie edytora są utrwalane podczas przełączania interfejsów, gdy jest to możliwe.

    Zrzut ekranu przedstawiający przykład użycia edytora języka dax w rozszerzonym edytorze zabezpieczeń na poziomie wiersza.

    Podczas definiowania roli przy użyciu edytora języka DAX, którego nie można zdefiniować w edytorze domyślnym, jeśli spróbujesz przełączyć się do edytora domyślnego, zostanie wyświetlony monit z ostrzeżeniem, że przełączanie edytorów może spowodować utratę niektórych informacji. Aby zachować te informacje, wybierz pozycję Anuluj i kontynuuj edytowanie tej roli tylko w edytorze języka DAX.

    Zrzut ekranu przedstawiający przykładowe okno dialogowe błędu podczas przełączania z języka DAX do domyślnego edytora zabezpieczeń na poziomie wiersza.

  9. Wybierz pozycję Zapisz

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.

Zarządzanie zabezpieczeniami w modelu

Aby zarządzać zabezpieczeniami w modelu semantycznym, otwórz obszar roboczy, w którym zapisano model semantyczny w usługa Power BI i wykonaj następujące czynności:

  1. W usługa Power BI wybierz menu Więcej opcji dla modelu semantycznego. To menu jest wyświetlane po umieszczeniu wskaźnika myszy na nazwie semantycznego modelu niezależnie od tego, czy wybierzesz go z menu nawigacji, czy strony obszaru roboczego.

    Zrzut ekranu przedstawiający menu więcej opcji w obszarze roboczym.

    Zrzut ekranu przedstawiający menu więcej opcji w menu nawigacji.

  2. Kliknij Zabezpieczenia.

    Zrzut ekranu przedstawiający menu więcej opcji z wybraną opcją Zabezpieczenia.

Zabezpieczenia umożliwiają przejście do strony Zabezpieczenia na poziomie ról, na której są dodawane elementy członkowskie do utworzonej roli. Współautor (i wyższe role obszaru roboczego) zobaczy pozycję Zabezpieczenia i może przypisać użytkowników do roli.

Praca z członkami

Dodawanie członków

W usługa Power BI możesz dodać członka do roli, wpisując adres e-mail lub nazwę użytkownika lub grupy zabezpieczeń. Nie można dodać grup utworzonych w usłudze Power BI. Możesz dodawać członków zewnętrznych do organizacji.

Aby skonfigurować zabezpieczenia na poziomie wiersza, możesz użyć następujących grup.

Należy jednak pamiętać, że grupy platformy Microsoft 365 nie są obsługiwane i nie można ich dodawać do żadnych ról.

Zrzut ekranu przedstawiający sposób dodawania członka.

Możesz również zobaczyć, ile członków jest częścią roli, według liczby w nawiasach obok nazwy roli lub obok pozycji Członkowie.

Zrzut ekranu przedstawiający członków w roli.

Usuń członków

Możesz usunąć członków, wybierając znak X obok ich nazwy.

Zrzut ekranu przedstawiający sposób usuwania członka.

Weryfikowanie roli w usługa Power BI

Możesz sprawdzić, czy zdefiniowana rola działa poprawnie w usługa Power BI, testując rolę.

  1. Wybierz pozycję Więcej opcji (...) obok roli.
  2. Wybierz pozycję Testuj jako rolę.

Zrzut ekranu przedstawiający opcję testu jako roli.

Nastąpi przekierowanie do raportu opublikowanego z programu Power BI Desktop przy użyciu tego modelu semantycznego, jeśli istnieje. Pulpity nawigacyjne nie są dostępne do testowania przy użyciu opcji Testuj jako rolę .

W nagłówku strony wyświetlana jest rola, która jest stosowana. Przetestuj inne role, kombinację ról lub określoną osobę, wybierając pozycję Teraz wyświetlając jako. W tym miejscu zobaczysz ważne szczegóły uprawnień dotyczące testowanej osoby lub roli. Aby uzyskać więcej informacji na temat interakcji uprawnień z zabezpieczeniami na poziomie wiersza, zobacz Środowisko użytkownika zabezpieczeń na poziomie wiersza.

Zrzut ekranu przedstawiający wyświetlanie jako listy rozwijanej dla określonej osoby.

Przetestuj inne raporty połączone z modelem semantycznym, wybierając pozycję Wyświetl w nagłówku strony. Raporty można testować tylko w tym samym obszarze roboczym co model semantyczny.

Zrzut ekranu przedstawiający wyświetlanie, aby wybrać inny raport do przetestowania.

Aby powrócić do normalnego wyświetlania, wybierz pozycję Wstecz do zabezpieczeń na poziomie wiersza.

Uwaga

Funkcja Test jako rola nie działa w przypadku modeli DirectQuery z włączonym logowaniem jednokrotnym. Ponadto nie wszystkie aspekty raportu można zweryfikować w funkcji Testuj jako rolę, w tym wizualizacje pytań i odpowiedzi, wizualizacje szybkich szczegółowych informacji i Copilot.

Używanie funkcji języka DAX username() lub 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 będzie on używany w usługa Power BI.

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

W ramach usługa Power BI nazwa użytkownika() i userprincipalname() będą zwracać główną nazwę użytkownika (UPN). Wygląda to podobnie do adresu e-mail.

Używanie zabezpieczeń na poziomie wiersza z obszarami roboczymi w usłudze Power BI

Jeśli opublikujesz raport programu Power BI Desktop w obszarze roboczym w usługa Power BI, role zabezpieczeń na poziomie wiersza zostaną zastosowane do członków przypisanych do roli Osoba przeglądająca w obszarze roboczym. Nawet jeśli osoby przeglądające otrzymują uprawnienia kompilacji do modelu semantycznego, zabezpieczenia na poziomie wiersza nadal mają zastosowanie. Jeśli na przykład osoby przeglądające z uprawnieniami do tworzenia używają funkcji Analizuj w programie Excel, ich widok danych jest ograniczony przez zabezpieczenia na poziomie wiersza. Członkowie obszaru roboczego przypisani Administracja, członek lub współautor mają uprawnienia do edycji modelu semantycznego i dlatego zabezpieczenia na poziomie wiersza nie mają zastosowania do nich. Jeśli chcesz, aby zabezpieczenia na poziomie wiersza były stosowane do osób w obszarze roboczym, możesz przypisać je tylko do roli Osoba przeglądająca . Przeczytaj więcej na temat ról w obszarach roboczych.

Rozważania i ograniczenia

Bieżące ograniczenia dotyczące zabezpieczeń na poziomie wiersza w modelach chmury można znaleźć tutaj:

  • Jeśli wcześniej zdefiniowano role i reguły w usługa Power BI, należy je ponownie utworzyć w programie Power BI Desktop.
  • Zabezpieczenia na poziomie wiersza można definiować tylko na semantycznych modelach utworzonych za pomocą programu Power BI Desktop. Jeśli chcesz włączyć zabezpieczenia na poziomie wiersza dla modeli semantycznych utworzonych za pomocą programu Excel, musisz najpierw przekonwertować pliki na pliki programu Power BI Desktop (PBIX). Dowiedz się więcej.
  • Nie można dodać jednostek usługi do roli zabezpieczeń na poziomie wiersza. W związku z tym zabezpieczenia na poziomie wiersza nie są stosowane dla aplikacji używających jednostki usługi jako ostatecznej obowiązującej tożsamości.
  • Obsługiwane są tylko połączenia Import i DirectQuery. Połączenia na żywo z usługami Analysis Services są obsługiwane w modelu lokalnym.
  • Funkcja Test as role/View as role nie działa w przypadku modeli DirectQuery z włączonym logowaniem jednokrotnym.
  • Funkcja Testuj jako rolę/wyświetl jako rolę pokazuje tylko raporty z obszaru roboczego modeli semantycznych.
  • Funkcja Testuj jako rolę/Wyświetl jako rolę nie działa w przypadku raportów podzielonych na strony.

Należy pamiętać, że jeśli raport usługi Power BI odwołuje się do wiersza ze skonfigurowanym zabezpieczeniami na poziomie wiersza, ten sam komunikat jest wyświetlany co w przypadku usuniętego lub nieistnienego pola. Dla tych użytkowników wygląda na to, że raport jest uszkodzony.

Często zadawane pytania

Pytanie: Co zrobić, jeśli wcześniej utworzono role i reguły dla zestawu danych w usługa Power BI? Czy nadal działają, jeśli nic nie robię?
Odpowiedź: Nie, wizualizacje nie będą poprawnie renderowane. Musisz ponownie utworzyć role i reguły w programie Power BI Desktop, a następnie opublikować je w usługa Power BI.

Pytanie: Czy mogę utworzyć te role dla źródeł danych usług Analysis Services?
Odpowiedź: Tak, jeśli zaimportowano dane 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 lokalnie w modelu usług Analysis Services.

Pytanie: Czy mogę użyć zabezpieczeń na poziomie wiersza, aby ograniczyć kolumny lub miary dostępne dla moich użytkowników?
Odpowiedź: Nie, jeśli użytkownik ma dostęp do określonego wiersza danych, może zobaczyć wszystkie kolumny danych dla tego wiersza. Aby ograniczyć dostęp do kolumn i metadanych kolumn, rozważ użycie zabezpieczeń na poziomie obiektu.

Pytanie: Czy zabezpieczenia na poziomie wiersza pozwalają ukryć szczegółowe dane, ale zapewniają dostęp do danych podsumowanych w wizualizacjach?
Odpowiedź: Nie, zabezpieczasz poszczególne wiersze danych, ale użytkownicy zawsze widzą szczegóły lub podsumowane dane.

Pytanie: Moje źródło danych ma już zdefiniowane role zabezpieczeń (na przykład role programu SQL Server lub role SAP BW). Jaka jest relacja między tymi rolami a zabezpieczeniami na poziomie wiersza?
Odpowiedź: Odpowiedź zależy od tego, czy importujesz dane, czy używasz trybu DirectQuery. Jeśli importujesz dane do zestawu danych usługi Power BI, role zabezpieczeń w źródle danych nie są używane. W takim przypadku należy zdefiniować zabezpieczenia na poziomie wiersza, aby wymusić reguły zabezpieczeń dla użytkowników łączących się w usłudze Power BI. Jeśli używasz trybu DirectQuery, używane są role zabezpieczeń w źródle danych. Gdy użytkownik otworzy raport, usługa Power BI wysyła zapytanie do bazowego źródła danych, które stosuje reguły zabezpieczeń do danych na podstawie poświadczeń użytkownika.

Pytanie: Czy użytkownik może należeć do więcej niż jednej roli?
Odpowiedź: Użytkownik może należeć do wielu ról, a role są addytywne. Jeśli na przykład użytkownik należy zarówno do ról "Sales" i "Marketing", może zobaczyć dane dla obu tych ról.

Pytania? Spróbuj zadać sugestie dotyczące Społeczność usługi Power BI? Współtworzenie pomysłów na ulepszanie usługi Power BI