Del via


Implementering af sikkerhed på rækkeniveau i integrerede sideinddelte rapporter

GÆLDER FOR: Appen ejer data Brugeren ejer data

I denne artikel forklares det, hvordan du integrerer en sideinddelt rapport, der bruger sikkerhed på rækkeniveau, i dit program ejer dataprogrammet.

Bemærk

Denne artikel er kun relevant for appens datakunder.

Sådan bruger du sikkerhed på rækkeniveau til dine sideinddelte rapporter:

  1. Konfigurer miljøet for at filtrere rapporten
  2. Filtrer dataene på rapport- eller forespørgselsniveau
  3. Overfør den konfigurerede parameter ved hjælp af et integreringstoken

Forudsætninger

  • I denne artikel antages det, at du ved, hvordan du integrerer en sideinddelt rapport i Power BI. Det forklares, hvordan du genererer integreringstokenet, så rapporten kun viser, hvad brugeren har tilladelse til at få adgang til.

  • Sideinddelte rapporter oprettes ved hjælp af SQL Server Reporting Services-programmet og ikke Power BI-programmet (Analysis Services), så RLS-filtrering er konfigureret i Power BI Report Builder.

Konfigurer miljøet

Hvis du vil anvende sikkerhed på rækkeniveau på en sideinddelt Power BI-rapport, skal du bruge det indbyggede felt UserID til at tildele en parameter. Denne parameter bruges til at filtrere eller forespørge dine data.

Derefter skal du overføre UserID til Api'et Integrer token – Generér token for at hente integreringstokenet.

Brug UserID som et filter på rapport- eller forespørgselsniveau

Du kan bruge UserId som et filter eller i en forespørgsel til datakilden.

Filtrer dataene

  1. Vælg Filter i ruden til venstre i vinduet Egenskaber for semantisk model.

    Skærmbillede af Power BI Report Builder-filteret.

  2. Vælg den parameter, du vil bruge til filtrering af dataene, i rullemenuen Udtryk .

    Skærmbillede, der viser værdien Farve valgt i menuen Udtryk.

  3. Vælg knappen Værdifunktion .

    Power BI Report Builder-værdi

  4. Vælg Indbyggede felter på listen Kategori i vinduet Udtryk.

    Skærmbillede, der viser vinduet Udtryk med indbyggede felter valgt som Kategori og ExecutionTime valgt som Element.

  5. Vælg UserIDlisten Element, og vælg OK.

    Bruger-id for Power BI Report Builder

  6. I vinduet Egenskaber for semantisk model skal du kontrollere, at udtrykket er din valgte parameter = UserID, og vælge OK.

    Semantiske modelegenskaber i Power BI Report Builder

Brug af en forespørgsel

  1. I vinduet Egenskaber for semantisk model skal du vælge Parametre i venstre navigationsrude og vælge Tilføj.

    Power BI Report Builder-parametre

  2. Angiv @UserID i feltet Parameternavn, og tilføj [&UserID] i parameterværdien.

    Navn på Power BI Report Builder-parameter

  3. Vælg Forespørgsel i ruden til venstre, tilføj parameteren UserID som en del af din forespørgsel i Forespørgsel, og vælg OK.

    Bemærk

    På skærmbilledet nedenfor bruges farveparameteren som et eksempel (WHERE FinalTable.Color = @UserID). Hvis det er nødvendigt, kan du oprette en mere kompleks forespørgsel.

    Redigering af Power BI Report Builder-forespørgsler

Generér et integreringstoken

Når du integrerer en sideinddelt rapport for dine kunder, skal du bruge Api'en Reports GenerateTokenInGroup til at hente integreringstokenet. Dette token kan også bruges til at filtrere nogle data ud af den sideinddelte rapport.

Du kan kun generere et token ved hjælp af en tjenesteprincipal. Du kan ikke oprette et token som masterbruger. Tjenesteprincipalen skal som minimum have medlemstilladelser til arbejdsområdet i Power BI-tjeneste. (Hvis tjenesteprincipalen er bidragyder eller fremviser, kan den ikke generere et token).

Hvis du vil generere et token, skal du tildele feltet username med de oplysninger, du vil have vist. Hvis du f.eks. angiver grøn i feltet i username en sideinddelt rapport, der har en farveparameter, begrænser integreringstokenet de integrerede data til de data, der har grøn som værdi i farvekolonnen.

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

Bemærk

Hvis du genererer et integreringstoken uden at angive et bruger-id, bruges objekt-id'et for tjenesteprincipalen.

Overvejelser og begrænsninger

  • Masterbruger understøttes ikke med sideinddelte rapporter til integrering for dine kunder. Masterbruger understøttes til integrering for din organisation.
  • Tjenesteprincipalen skal have tilladelser til arbejdsområdet som minimum medlem eller (ikke fremviser eller bidragyder).

Generér et integreringstoken