Udostępnij za pośrednictwem


Jak włączyć zabezpieczenia na poziomie wiersza w Power BI w usłudze Power Pages

Podobnie jak Power Pages jest narzędziem do szybkiego rozszerzenia wdrożenia Microsoft Dataverse na publiczną witrynę sieci Web, Power BI stanowi narzędzie do renderowania wizualizacji opartych na danych. Piękno Power Platform leży w bezproblemowym łączeniu ich obu. W przeszłości, aby wyrenderować raport w Power BI na stronie sieci Web, administratorzy musieli opublikować raport w sieci Web i osadzić go w witrynie iFrame. Nawet jeśli do pojedynczego raportu zostały użyte uprawnienia do stron w celu zablokowania strony z raportem, jeśli pojedyncze osoby miały łącze użyte do osadzenia raportu, każdy użytkownik mógł uzyskać dostęp do raportu poza witryną sieci Web.

Celem publikowania w sieci Web jest umożliwienie innym użytkownikom sieci Web korzystanie z tych danych, a nawet dalsze udostępnianie raportu.

Ostrzeżenie

W przypadku użycia opcji Publikuj w sieci Web dowolna osoba w Internecie może wyświetlać opublikowane raporty i wizualizacje. Wyświetlanie nie wymaga uwierzytelniania. Dotyczy to także danych szczegółowych zagregowanych w twoich raportach. Przed opublikowaniem raportu upewnij się, że publiczne udostępnienie tych danych i wizualizacji nie jest problemem. Nie należy publikować informacji poufnych i stanowiących własność. Jeśli masz wątpliwości, przed opublikowaniem informacji sprawdź zasady obowiązujące w organizacji.

Dzięki usłudze Power BI embedded można kontekstowo przekazywać użytkownikom te składniki Power BI, przekazywać filtry automatyczne za pomocą parametru filtru i włączyć funkcje zabezpieczeń na poziomie wiersza, aby umożliwić organizacji w pełni bezpiecznie przekazywać dane widoczne dla użytkowników i wyświetlić tylko te, które mają dla nich znaczenie.

Uwaga

Zabezpieczenia na poziomie wiersza są obsługiwane tylko w usłudze Power BI embedded.

Wymagania wstępne

Scenariusz

Pracujesz dla grupy studio fitness i używasz Dataverse do śledzenia grup klas fitness i uczestnictwa w nich. Instruktorzy fitness grupy nie znajdują się w dzierżawie, ponieważ każdy z nich jest traktowany jako kontrahent. Witryna internetowa ma być używana przez instruktorów fitness tej grupy do logowania się i przeglądania historii klas, w których prowadzą zajęcia, przyszłego harmonogramu oraz opłat za uczestnictwo. Powinni oni zobaczyć tylko te klasy, które prowadzą, a nie dla wszystkie.

Instruktorzy są reprezentowani przez rekordy Kontakt w Dataverse. Gdy uzyskują dostęp do witryny Power Pages w sieci Web, są oni reprezentowani przez swój rekord Kontakt. Dane, które trzeba wyświetlić w witrynie sieci Web, pochodzą z tabeli niestandardowe Klasy. W tabeli Klasy istnieje relacja typu N*:1 z kontaktem, ponieważ formularz klas ma pole wyszukiwania o nazwie Instruktor, które jest do tabeli kontaktów.

Rekord klasy w Dataverse.

Aby zapewnić użytkownikom Power Pages (kontakty) zabezpieczenia na poziomie wiersza, musi to być bezpośrednia relacja między kontaktem a tabelą, z której są dane do raportu. Poniżej przedstawiono przykładowy model danych z tego scenariusza:

Tabela relacji kontaktu z klasami.

Konfigurowanie pulpitu nawigacyjnego lub raportu Power BI

  1. Otwórz raport Power BI lub pulpit nawigacyjny w aplikacji Power BI Desktop.

    Raport Power BI Instruktor.

  2. Aby używać filtrowania dwukierunkowego, należy zmienić relację między tabelą Kontakt a naszą tabelą (Klasy w tym scenariuszu). W tym celu wybierz kartę Model po lewej stronie.

    Opcja Model w programie Power BI.

  3. Wybierz wiersz, który łączy tabelę kontaktu z tabelą zawierającą dane raportu. W tym przykładzie jest to vbd_class, ponieważ raportowanie dotyczy klas.

  4. W oknie Edytuj relację znajdują się dwie listy wyboru. U góry wybierz tabelę, na podstawie której jest raportowanie (vbd_class) i wybierz kolumnę z unikatowym identyfikatorem rekordu.

  5. Na dolnej liście wyboru wybierz tabelę kontaktu i wybierz kolumnę Kontakt.

  6. Liczebność wskazuje na relację wiele do jeden (*:1). W polu Kierunek filtrowania krzyżowego zmień wartość na Oba.

    Edytowanie łącza między tabelami.

  7. Wybierz pozycję OK.

  8. Gdy wdrażamy zabezpieczenia na poziomie wiersza (RLS), musimy utworzyć swoją rolę. Na górnej wstążce Strona główna wybierz pozycję Zarządzaj rolami.

  9. W obszarze Role wybierz pozycję Utwórz. Nazwij tę rolę. W przykładowym scenariuszu użyto pagesuser.

  10. W kolumnie Tabele wybierz kontakt.

  11. Wypełnij pole tekstowe po prawej stronie wyrażeniem DAX:

    [User Name] = username()

    Uwaga

    Pole [Username] znajduje się w tabeli kontakt i nie jest rzeczywistą nazwą użytkownika. Odwołuje się ono do tabeli adx_externalidentity, używanej przez. Power Pages Ma identyfikator GUID, który jest wysyłany do funkcji username() w Power BI.

    Zarządzaj rolami w Power BI.

  12. Wybierz pozycję Zapisz, a następnie zapisz swój plik.

  13. Na wstążce Strona główna wybierz opcję Publikuj.

  14. Wybierz obszar roboczy organizacji, który będzie używany przez Power Pages. Naciśnij przycisk Wybierz.

Konfigurowanie integracji usługi Power BI

Zapoznaj się z tematem Konfigurowanie integracji usługi Power BI w celu umożliwienia integracji witryny internetowej z Power BI.

Osadzanie raportu w Power BI

  1. Przejdź do Power Pages. Znajdź witrynę Power Pages sieci Web, w celu osadzenia raportu, a następnie wybierz opcję Edytuj, aby otworzyć studio projektowe Power Pages.

  2. W obszarze roboczym Strony wybierz stronę sieci Web, w której chcesz osadzić raport.

  3. Dodaj sekcję do treści strony sieci Web.

  4. Po wyświetleniu monitu który składnik chcesz dodać w tej sekcji wybierz ikonę Power BI.

    Dodaj sekcję do strony sieci Web.

  5. Gdy składnik wypełni sekcję, wybierz w lewym górnym rogu Edytuj Power BI.

  6. Wybierz Typ dostępu. Dostępne opcje:

    1. Osadź dla klientów: umożliwia udostępnianie usługi Power BI użytkownikom zewnętrznym bez licencji Power BI lub tożsamości Microsoft Entra.

    2. Osadzenie raportu swojej organizacji: Microsoft Entra korzysta z uwierzytelniania w celu udostępnienia raportu Power BI użytkownikom zewnętrznym.

    3. Publikowanie w sieci Web: umożliwia wszystkim osobom w Internecie dostęp do raportu i danych.

    Uwaga

    Należy się upewnić, że nie są to poufne informacje.

    Dodatkowe informacje Publikowanie w sieci Web

    Wybierz pozycję Osadź dla swoich klientów

  7. Wybierz obszar roboczy zawierający raport lub pulpit nawigacyjny, określ typ jako Raport lub Pulpit nawigacyjny, a następnie wybierz raport lub pulpit nawigacyjny z ostatniej listy rozwijanej. Jeśli jest to raport, należy określić stronę, która ma być osadzana.

    Wybierz raport.

  8. Aby zobaczyć kod osadzający raport lub pulpit nawigacyjny, wybierz opcję Edytuj kod w prawym górnym rogu studio.

    Edytuj kod.

  9. Po wyświetleniu monitu wybierz opcję Otwórz Visual Studio Code. Po lewej stronie w obszarze PowerPages (obszar roboczy) nazwa witryny internetowej w Power Pages zawiera listę rozwijaną do strony sieci Web. W tej sekcji można zobaczyć plik CSS, plik js i kopię HTML. Upewnij się, że jesteś jest w pliku kopii HTML.

    Kod programu VS.

  10. Wybierz klawisze CTRL + F i wyszukaj {% aby szybko zidentyfikować kod zawierający odwołanie do naszego pulpitu nawigacyjnego Power BI lub raportu. {% wskazuje otwarcie tagu, który tworzy logikę w języku Liquid. Naszym jest naszym łącznikiem pomiędzy Dataverse a interakcjami użytków w witrynie sieci Web. Gdy do osadzenia składników użyjemy edytora studio, fragmenty w kodzie Liquid są automatycznie tworzone w kodzie źródłowym strony sieci Web. Więcej informacji o tagu liquid w Power BI tagów można znaleźć tutaj: Tagi liquid w Dataverse i Dodaj raport Power BI.

  11. Pełny wiersz kodu liquid będzie przypominał:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Zamknij kartę Visual Studio Code for the Web.

  13. W studio projektowym Power Pages wybierz składnik osadzony w Power BI i wybierz opcję Edytuj Power BI.

  14. Przewiń w dół, aby przełączać Zastosuj role na prawda/tak.

  15. W polu tekstowym Role wpisz nazwę utworzonej roli w Power BI Desktop.

    Dodaj role do składnika Power BI.

  16. Aby zobaczyć zmiany, jakie przez to powstają w kodzie osadzającym raport lub pulpit nawigacyjny, wybierz ponownie opcję Edytuj kod w prawym górnym rogu studio.

  17. Pełny wiersz kodu liquid będzie teraz przypominał:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
    
  18. Zamknij kartę Visual Studio Code, aby powrócić do studio projektowego.

  19. Wyświetl wersję zapoznawczą wynikowego raportu osadzonego lub pulpitu nawigacyjnego w przeglądarce, wybierając w prawym górnym rogu pozycję Synchronizacja, a następnie wybierając Wersja zapoznawcza > Pulpit nawigacyjny.

  20. Aby przetestować raport – gdy żaden użytkownik nie jest zalogowany, można sprawdzić, że zastosowano zabezpieczenia na poziomie wiersza (RLS), ponieważ nie ma zwróconych żadnych rekordów nawigujących do witryny Power Pages sieci Web:

    Pusty raport.

    Podstawowe dane znajdują się w tym raporcie, ponieważ podczas wyświetlania go z Power BI Desktop bez stosowania RLS można zobaczyć, że jest kilka rekordów, ale są one powiązane z rekordem kontaktu.

  21. Aby przetestować to dalej, jeśli zalogujemy się w witrynie sieci Web z istniejącym użytkownikiem i odpowiadającym mu kontaktem z powiązanymi danymi, na stronie sieci Web można zobaczyć tylko rekordy powiązane z zalogowanym użytkownikiem:

    Raport o klasie na stronie sieci Web.

Podsumowanie

Osadziliśmy raport Power BI lub pulpit nawigacyjny, który korzysta z zabezpieczeń na poziomie wiersza, w witrynie Power Pages sieci Web.

Domyślnie jest wyświetlane okienko filtru. Ukrycie okienka filtrów wymaga użycia języka JavaScript. Kroki tej procedury pokazano tutaj: Dodawanie raportu Power BI lub pulpitu nawigacyjnego do strony sieci Web w portalu.