Udostępnij za pośrednictwem


Implementowanie zabezpieczeń na poziomie wiersza w osadzonych raportach podzielonych na strony

DOTYCZY: Aplikacja jest właścicielem danych Użytkownik jest właścicielem danych

W tym artykule wyjaśniono, jak osadzić raport podzielony na strony, który korzysta z zabezpieczeń na poziomie wiersza (zabezpieczenia na poziomie wiersza) w aplikacji będącej właścicielem aplikacji danych.

Uwaga

Ten artykuł dotyczy tylko klientów korzystających z danych własnych przez aplikację.

Aby użyć zabezpieczeń na poziomie wiersza dla raportów podzielonych na strony:

  1. Konfigurowanie środowiska do filtrowania raportu
  2. Filtrowanie danych na poziomie raportu lub zapytania
  3. Przekazywanie skonfigurowanego parametru przy użyciu tokenu osadzania

Wymagania wstępne

  • W tym artykule założono, że wiesz, jak osadzić raport podzielony na strony usługi Power BI. Wyjaśniono w nim, jak wygenerować token osadzania, aby raport pokazywał tylko uprawnienia dostępu użytkownika.

  • Raporty podzielone na strony są tworzone przy użyciu aparatu usług SQL Server Reporting Services, a nie aparatu usług Power BI (Analysis Services), więc filtrowanie zabezpieczeń na poziomie wiersza jest konfigurowane w programie Power BI Report Builder.

Konfigurowanie środowiska

Aby zastosować zabezpieczenia na poziomie wiersza do raportu podzielonego na strony usługi Power BI, użyj wbudowanego pola UserID , aby przypisać parametr. Ten parametr służy do filtrowania lub wykonywania zapytań dotyczących danych.

Następnie przekaż identyfikator UserID do tokenu osadzania — generowanie interfejsu API tokenu , aby uzyskać token osadzania.

Użyj identyfikatora UserID jako filtru na poziomie raportu lub zapytania

Identyfikator UserId można użyć jako filtru lub zapytania do źródła danych.

Filtrowanie danych

  1. W oknie Właściwości modelu semantycznego w okienku po lewej stronie wybierz pozycję Filtr.

    Zrzut ekranu przedstawiający filtr programu Power BI Report Builder.

  2. Z menu rozwijanego Wyrażenie wybierz parametr, którego chcesz użyć do filtrowania danych.

    Zrzut ekranu przedstawia wartość Kolor wybraną z menu Wyrażenie.

  3. Wybierz przycisk Funkcja Value.

    Wartość programu Power BI Report Builder

  4. W oknie Wyrażenie z listy Kategoria wybierz pozycję Pola wbudowane.

    Zrzut ekranu przedstawiający okno Wyrażenie z polami wbudowanymi wybranymi jako Kategoria i ExecutionTime wybranym jako Element.

  5. Z listy Element wybierz pozycję UserID i wybierz przycisk OK.

    Identyfikator użytkownika programu Power BI Report Builder

  6. W oknie Właściwości modelu semantycznego sprawdź, czy wyrażenie jest wybranym parametrem = UserID, a następnie wybierz przycisk OK.

    Właściwości semantycznego modelu programu Power BI Report Builder

Korzystanie z zapytania

  1. W oknie Właściwości modelu semantycznego w okienku nawigacji po lewej stronie wybierz pozycję Parametry i wybierz pozycję Dodaj.

    Parametry programu Power BI Report Builder

  2. W polu Nazwa parametru wprowadź @UserID, a w polu Wartość parametru dodaj [&UserID].

    Nazwa parametru programu Power BI Report Builder

  3. W okienku po lewej stronie wybierz pozycję Zapytanie, w zapytaniu dodaj parametr UserID jako część zapytania, a następnie wybierz przycisk OK.

    Uwaga

    Na poniższym zrzucie ekranu parametr koloru jest używany jako przykład (WHERE FinalTable.Color = @UserID). W razie potrzeby możesz utworzyć bardziej złożone zapytanie.

    Edytowanie zapytań programu Power BI Report Builder

Generowanie tokenu osadzania

Podczas osadzania raportu podzielonego na strony dla klientów użyj interfejsu API GenerateTokenInGroup raportów, aby uzyskać token osadzania. Ten token może również służyć do filtrowania niektórych danych z raportu podzielonego na strony.

Token można wygenerować tylko przy użyciu jednostki usługi. Nie można wygenerować tokenu jako użytkownika głównego. Jednostka usługi musi mieć co najmniej uprawnienia członka do obszaru roboczego w usługa Power BI. (Jeśli jednostka usługi jest współautorem lub przeglądarką, nie może wygenerować tokenu).

Aby wygenerować token, przypisz username pole z informacjami, które chcesz wyświetlić. Na przykład w raporcie podzielonym na strony, który ma parametr koloru, jeśli wprowadzisz zielony w username polu, token osadzania ogranicza osadzone dane tylko do danych, które mają kolor zielony jako jego wartość w kolumnie kolorów.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

Uwaga

Jeśli wygenerujesz token osadzania bez określenia identyfikatora użytkownika, zostanie użyty identyfikator obiektu jednostki usługi.

Rozważania i ograniczenia

  • Użytkownik główny nie jest obsługiwany w przypadku raportów podzielonych na strony na potrzeby osadzania dla klientów. Użytkownik główny jest obsługiwany w przypadku osadzania w organizacji.
  • Jednostka usługi musi mieć uprawnienia obszaru roboczego co najmniej członka lub (nie osoba przeglądająca lub współautora).

Generowanie tokenu osadzania