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 można 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ń:
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.
Na karcie Modelowanie wybierz pozycję Zarządzaj rolami.
W oknie Zarządzanie rolami wybierz pozycję Utwórz.
W obszarze Role podaj nazwę roli.
Uwaga
Nie można zdefiniować roli z przecinkiem, na przykład
London,ParisRole
.W obszarze Tabele wybierz tabelę, do której chcesz zastosować regułę języka DAX (Data Analysis Expression).
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”
.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.
Po utworzeniu wyrażenia języka DAX zaznacz znacznik wyboru powyżej pola wyrażenia, aby zweryfikować wyrażenie.
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).
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.
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:
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.
Zaimportuj dane do modelu semantycznego usługi Power BI lub skonfiguruj połączenie trybu DirectQuery.
Na wstążce wybierz pozycję Zarządzaj rolami.
W oknie Zarządzanie rolami wybierz pozycję Nowy, aby utworzyć nową rolę.
W obszarze Role podaj nazwę roli i wybierz klawisz Enter.
W obszarze Wybierz tabele wybierz tabelę, do której chcesz zastosować filtr zabezpieczeń na poziomie wiersza.
W obszarze Filtruj dane użyj edytora domyślnego, aby zdefiniować role. Utworzone wyrażenia zwracają wartość true lub false.
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.
Opcjonalnie wybierz pozycję Przełącz do edytora języka DAX, aby przełączyć się na używanie edytora języka DAX w celu zdefiniowania roli. 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.
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.
Wybierz pozycję Zapisz
Weryfikowanie ról w programie Power BI Desktop
Po utworzeniu ról przetestuj wyniki ról w programie Power BI Desktop.
Na karcie Modelowanie wybierz pozycję Wyświetl jako.
Zostanie wyświetlone okno Wyświetl jako role , w którym są widoczne utworzone role.
Wybierz utworzoną rolę. Następnie wybierz przycisk OK , aby zastosować tę rolę.
Raport renderuje dane istotne dla tej roli.
Możesz również wybrać pozycję Inny użytkownik i podać danego użytkownika.
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ę.
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:
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.
Kliknij 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.
- Grupa dystrybucyjna
- Grupa z obsługą poczty
- Microsoft Entra Security Group
Należy pamiętać, że grupy platformy Microsoft 365 nie są obsługiwane i nie można ich dodać do żadnych ról.
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.
Usuń członków
Możesz usunąć członków, wybierając znak X obok ich nazwy.
Weryfikowanie roli w usługa Power BI
Możesz sprawdzić, czy zdefiniowana rola działa poprawnie w usługa Power BI, testując rolę.
- Wybierz pozycję Więcej opcji (...) obok roli.
- Wybierz pozycję Testuj jako rolę.
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.
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.
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.
Powiązana zawartość
- Ograniczanie dostępu do danych przy użyciu zabezpieczeń na poziomie wiersza dla programu Power BI Desktop
- Wskazówki dotyczące zabezpieczeń na poziomie wiersza w programie Power BI Desktop
- Planowanie implementacji usługi Power BI: Raportowanie planowania zabezpieczeń użytkowników
- Zabezpieczenia na poziomie wiersza dla scenariuszy osadzonych dla niezależnych dostawców oprogramowania
Pytania? Spróbuj zadać sugestie dotyczące Społeczność usługi Power BI? Współtworzenie pomysłów na ulepszanie usługi Power BI
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla