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:
- Konfigurer miljøet for at filtrere rapporten
- Filtrer dataene på rapport- eller forespørgselsniveau
- 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
Vælg Filter i ruden til venstre i vinduet Egenskaber for semantisk model.
Vælg den parameter, du vil bruge til filtrering af dataene, i rullemenuen Udtryk .
Vælg knappen Værdifunktion .
Vælg Indbyggede felter på listen Kategori i vinduet Udtryk.
Vælg UserID på listen Element, og vælg OK.
I vinduet Egenskaber for semantisk model skal du kontrollere, at udtrykket er din valgte parameter = UserID, og vælge OK.
Brug af en forespørgsel
I vinduet Egenskaber for semantisk model skal du vælge Parametre i venstre navigationsrude og vælge Tilføj.
Angiv @UserID i feltet Parameternavn, og tilføj [&UserID] i parameterværdien.
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.
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).