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 do konkretnych użytkowników. Filtry ograniczają dostęp do danych na poziomie wiersza i można je definiować w ramach ról. W usługa Power BI użytkownicy z dostępem do obszaru roboczego mają dostęp do zestawów danych 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 to administratorów, członków ani współautorów.
Można skonfigurować zabezpieczenia na poziomie wiersza dla modeli danych importowanych do usługi Power BI za pomocą programu Power BI Desktop. Można również skonfigurować zabezpieczenia na poziomie wiersza w zestawach danych, które korzystają z zapytań bezpośrednich, takich jak program SQL Server. W przypadku połączeń na żywo usług Analysis Services lub Azure Analysis Services zabezpieczenia są konfigurowane na poziomie wiersza w modelu, a nie w programie Power BI Desktop. Opcja zabezpieczeń nie jest widoczna dla zestawów danych w połączeniach na żywo.
Definiowanie ról i reguł w programie Power BI Desktop
W programie Power BI Desktop możesz definiować role i reguły. 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 zapytania bezpośredniego.
Uwaga
W programie Power BI Desktop nie można zdefiniować ról 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 DAX filtru tabeli wprowadź wyrażenia języka DAX. To wyrażenie zwraca wartość Prawda lub Fałsz. Na przykład:
[Entity ID] = “Value”
.Uwaga
W tym wyrażeniu możesz użyć funkcji username() . Pamiętaj, że w programie Power BI Desktop funkcja username() ma format DOMENA\nazwa_użytkownika. W usłudze Power BI i na serwerze raportów usługi Power BI ma ona format głównej nazwy użytkownika (UPN, User Principal Name). Alternatywnie możesz użyć funkcji userprincipalname(), która zawsze zwraca użytkownika w formacie głównej nazwy użytkownika, username@contoso.com.
Po utworzeniu wyrażenia języka DAX wybierz znacznik wyboru powyżej pola wyrażenia, aby sprawdzić poprawność wyrażenia.
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.
W programie Power BI Desktop nie można przypisywać użytkowników do roli. Możesz przypisać ich w usłudze Power BI. Zabezpieczenia dynamiczne w programie Power BI Desktop możesz włączyć, używając funkcji języka DAX username() lub userprincipalname() i konfigurując odpowiednie relacje.
Domyślnie filtrowanie zabezpieczeń na poziomie wiersza korzysta z filtrów jednokierunkowych, niezależnie od tego, czy dla relacji skonfigurowano tryb jednokierunkowy, czy dwukierunkowy. Dwukierunkowe filtrowanie krzyżowe można włączyć ręcznie za pomocą zabezpieczeń na poziomie wiersza, wybierając relację i zaznaczając pole wyboru Zastosuj filtr zabezpieczeń w obu kierunkach. Pamiętaj, że jeśli tabela bierze udział w wielu relacjach dwukierunkowych, możesz wybrać tę opcję tylko dla jednej z tych relacji. Zaznacz tę opcję, jeśli zaimplementowano także dynamiczne zabezpieczenia na poziomie wiersza na poziomie serwera, a zabezpieczenia na poziomie wiersza opierają się na nazwie użytkownika lub identyfikatorze logowania.
Aby uzyskać więcej informacji, zobacz temat Dwukierunkowe filtrowanie krzyżowe przy użyciu zapytania bezpośredniego w programie Power BI Desktop oraz artykuł techniczny Zabezpieczanie tabelarycznego semantycznego modelu analizy biznesowej.
Definiowanie ról i reguł w Power BI Desktop przy użyciu rozszerzonego edytora zabezpieczeń na poziomie wiersza (wersja zapoznawcza)
Można szybko i łatwo definiować role zabezpieczeń i filtry na poziomie wiersza w Power BI Desktop przy użyciu rozszerzonego 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łącz wersję zapoznawcza, przechodząc do pozycji Opcje plików > i opcje ustawień > w > wersji zapoznawczej i włącz opcję "Rozszerzony edytor zabezpieczeń na poziomie wiersza".
Zaimportuj dane do raportu programu Power BI Desktop lub skonfiguruj połączenie zapytania bezpośredniego.
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ł dynamicznych, takich jak username() lub userprincipalname(). Aby zdefiniować role przy użyciu tych filtrów, przejdź do korzystania z edytora języka DAX.
Opcjonalnie wybierz pozycję Przełącz do edytora języka DAX, aby przełączyć się, aby użyć edytora języka DAX do 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świetlone ostrzeżenie, że przełączenie 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 możesz przetestować ich wyniki w programie Power BI Desktop.
Na karcie Modelowanie wybierz pozycję Wyświetl jako.
Zostanie wyświetlone okno Wyświetl jako role z widocznymi utworzonymi rolami.
Wybierz utworzoną rolę. Następnie wybierz przycisk OK , aby zastosować tę rolę.
W raporcie będą odzwierciedlane dane istotne dla tej roli.
Możesz również wybrać pozycję Inny użytkownik i podać 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 używać.
W programie Power BI Desktop wybranie opcji Inny użytkownik powoduje wyświetlenie innych wyników tylko wtedy, gdy używasz zabezpieczeń dynamicznych opartych na wyrażeniach języka DAX.
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 jedno Sign-On krotnym (SSO).
Teraz, gdy skończysz weryfikować role w Power BI Desktop, przejdź do przodu i opublikuj raport w usługa Power BI.
Zarządzanie zabezpieczeniami modelu
Aby zarządzać zabezpieczeniami modelu danych, otwórz obszar roboczy, w którym zapisano raport w usługa Power BI i wykonaj następujące czynności:
W usłudze Power BI wybierz menu Więcej opcji dla zestawu danych. To menu jest wyświetlane po umieszczeniu wskaźnika myszy nad nazwą zestawu danych, niezależnie od tego, czy wybrano ją z menu nawigacji, czy ze strony obszaru roboczego.
Wybierz opcję Zabezpieczenia.
Zabezpieczenia umożliwiają przejście do strony zabezpieczeń Role-Level, na której są dodawani członkowie do roli utworzonej w Power BI Desktop. Współautor (i wyższe role obszaru roboczego) będzie widzieć pozycję Zabezpieczenia i może przypisywać użytkowników do roli.
Tworzenie i modyfikowanie ról jest możliwe tylko w programie Power BI Desktop.
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 dodawać grup utworzonych w usłudze Power BI. Możesz dodawać członków spoza organizacji.
Aby skonfigurować zabezpieczenia na poziomie wiersza, można użyć następujących grup.
- Grupa dystrybucyjna
- Grupa z włączoną obsługą poczty
- Grupy zabezpieczeń
Należy jednak pamiętać, że grupy Office 365 nie są obsługiwane i nie można ich dodać do żadnych ról.
Liczba w nawiasach obok nazwy roli lub obok obszaru Członkowie informuje o tym, ilu członków jest przypisanych do roli.
Usuwanie członków
Członków można usuwać, wybierając znak X obok ich nazwy.
Sprawdzanie poprawności roli w usłudze Power BI
Możesz sprawdzić, czy zdefiniowana rola działa prawidłowo w usługa Power BI, testując rolę.
- Wybierz pozycję Więcej opcji (...) obok roli.
- Wybierz pozycję Testuj dane jako rolę.
Nastąpi przekierowanie do raportu opublikowanego z Power BI Desktop za pomocą tego zestawu danych, jeśli istnieje. Pulpity nawigacyjne nie są dostępne do testowania przy użyciu opcji Testuj jako rolę .
W nagłówku strony jest wyświetlana zastosowana rola.
Aby przetestować inne role lub kombinację ról, wybierz pozycję Przeglądanie jako.
Można wybrać, aby wyświetlić dane jako określona osoba, lub wybrać kombinację dostępnych ról, aby sprawdzić poprawność ich działania.
Aby powrócić do normalnego widoku, wybierz pozycję Wróć do zabezpieczeń na poziomie wiersza.
Uwaga
Funkcja Testuj jako rolę nie działa w przypadku modeli DirectQuery z włączonym logowaniem jednokrotnym (Sign-On SSO).
Używanie funkcji username() lub userprincipalname() języka DAX
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. Po opublikowaniu modelu będzie on używany w usłudze Power BI.
W programie Power BI Desktop funkcja username() zwraca użytkownika w formacie DOMENA\Użytkownik, a funkcja userprincipalname() zwraca użytkownika w formacie user@contoso.com.
W usłudze Power BI funkcje username() i userprincipalname() zwracają główną nazwę użytkownika (UPN, User Principal Name). Wygląda ona podobnie do adresu e-mail.
Używanie zabezpieczeń na poziomie wiersza z obszarami roboczymi w usłudze Power BI
Jeśli opublikujesz raport 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 Osoby przeglądająca w obszarze roboczym. Nawet jeśli osoby przeglądające mają uprawnienia do tworzenia zestawu danych, 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 zestawu danych i dlatego zabezpieczenia na poziomie wiersza nie mają do nich zastosowania. Jeśli chcesz, aby zabezpieczenia na poziomie wiersza miały być 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.
Istotne zagadnienia i ograniczenia
Bieżące ograniczenia dotyczące zabezpieczeń na poziomie wiersza w modelach w chmurze można zobaczyć tutaj:
- Jeśli w usłudze Power BI wcześniej zdefiniowano role i reguły, musisz utworzyć je ponownie w programie Power BI Desktop.
- Zabezpieczenia na poziomie wiersza można zdefiniować tylko dla zestawów danych utworzonych za pomocą programu Power BI Desktop. Jeśli chcesz włączyć zabezpieczenia na poziomie wiersza dla zestawów danych utworzonych za pomocą programu Excel, najpierw musisz 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 będą stosowane dla aplikacji korzystających z jednostki usługi jako ostatecznej obowiązującej tożsamości.
- Obsługiwane są tylko połączenia importowania i zapytań bezpośrednich. Połączenia na żywo z usługami Analysis Services są obsługiwane w modelu lokalnym.
- Funkcja Testuj jako rolę/Wyświetl jako rolę nie działa w przypadku modeli DirectQuery z włączonym logowaniem jednokrotnym.
Często zadawane pytania
Pytanie: Co w sytuacji, gdy role i reguły dla zestawu danych zostały utworzone wcześniej w usłudze Power BI? Czy nadal będą działały, jeśli nic nie zrobię?
Odpowiedź: Nie, wizualizacje nie będą poprawnie renderowane. Musisz ponownie utworzyć role i reguły w 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 dane zostały zaimportowane do Power BI Desktop. Jeśli używasz połączenia na żywo, nie możesz skonfigurować zabezpieczeń na poziomie wiersza w usłudze Power BI. Są one definiowane w modelu usług Analysis Services lokalnie.
Pytanie: Czy używając zabezpieczeń na poziomie wiersza, mogę ograniczyć dostępność kolumn lub miar moim użytkownikom?
Odpowiedź: Nie, jeśli użytkownik ma dostęp do określonego wiersza danych, może zobaczyć wszystkie kolumny danych dla tego wiersza.
Pytanie: Czy zabezpieczenia na poziomie wiersza pozwalają na ukrywanie szczegółowych danych, zapewniając jednocześnie dostęp do podsumowania danych 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 SQL Server lub role SYSTEMU SAP BW). Jaka jest relacja między tymi i 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 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 nawiązujących połączenie w usłudze Power BI. W przypadku korzystania z trybu DirectQuery są używane role zabezpieczeń ze źródła 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.
Następne kroki
- Ograniczanie dostępu do danych przy użyciu zabezpieczeń na poziomie wiersza w programie 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
- Masz pytania? Zadaj pytanie społeczności usługi Power BI
- Masz jakieś sugestie? Podziel się pomysłami na udoskonalenie usługi Power BI