Implementere sikkerhet på radnivå i innebygde paginerte rapporter
GJELDER FOR: Appen eier data Brukeren eier data
Denne artikkelen forklarer hvordan du bygger inn en paginert rapport som bruker RLS (sikkerhet på radnivå) i appen, eier dataprogrammet .
Merk
Denne artikkelen er bare relevant for appeierdatakunder.
Slik bruker du RLS for paginerte rapporter:
- Konfigurere miljøet til å filtrere rapporten
- Filtrere dataene på rapport- eller spørringsnivå
- Send den konfigurerte parameteren ved hjelp av et innebyggingstoken
Forutsetning
Denne artikkelen forutsetter at du vet hvordan du bygger inn en paginert Power BI-rapport. Den forklarer hvordan du genererer innebyggingstokenet slik at rapporten bare viser hva brukeren har tilgang til.
Paginerte rapporter opprettes ved hjelp av SQL Server Reporting Services-motoren, og ikke Power BI-motoren (Analysis Services), så RLS-filtreringen er konfigurert i Power BI Report Builder.
Konfigurere miljøet
Hvis du vil bruke sikkerhet på radnivå i en paginert Power BI-rapport, bruker du det innebygde feltet UserID til å tilordne en parameter. Denne parameteren brukes til å filtrere eller spørre etter dataene.
Deretter sender du UserID til bygg inn-tokenet – Generer token-API-en for å hente innebyggingstokenet.
Bruke UserID som filter på rapport- eller spørringsnivå
Du kan bruke UserId som et filter eller i en spørring til datakilden.
Filtrere dataene
Velg Filter fra venstre rute i vinduet Egenskaper for semantisk modell.
Velg parameteren du vil bruke til filtrering av dataene, på rullegardinmenyen Uttrykk .
Klikk verdifunksjonsknappen.
Velg Innebygde felt fra kategorilisten i uttrykksvinduet.
Velg UserID fra Element-listen, og klikk OK.
Kontroller at uttrykket er den valgte parameteren = UserID i vinduet Egenskaper for semantisk modell, og klikk OK.
Bruke en spørring
Velg Parametere fra venstre navigasjonsrute i vinduet Egenskaper for semantisk modell, og klikk Legg til.
Angi @UserID i Parameternavn-feltet, og legg til [&UserID] i parameterverdien.
Velg Spørring i ruten til venstre, legg til UserID-parameteren som en del av spørringen i spørringen, og klikk OK.
Merk
I skjermbildet nedenfor brukes fargeparameteren som et eksempel (WHERE FinalTable.Color = @UserID). Hvis det er nødvendig, kan du opprette en mer kompleks spørring.
Generer et innebyggingstoken
Når du bygger inn en paginert rapport for kundene, kan du bruke API-en For GenererTokenInGroup for rapporter for å få innebyggingstokenet. Dette tokenet kan også brukes til å filtrere noen data ut av den paginerte rapporten.
Du kan bare generere et token ved hjelp av en tjenestekontohaver. Du kan ikke generere et token som en hovedbruker. Tjenestekontohaveren må ha minst medlemstillatelser til arbeidsområdet i Power Bi-tjeneste. (Hvis tjenestekontohaveren er en bidragsyter eller visningsprogram, kan den ikke generere et token).
Hvis du vil generere et token, tilordner username
du feltet med informasjonen du vil vise. I en paginert rapport som for eksempel har en fargeparameter, vil innebyggingstokenet begrense de innebygde dataene til bare dataene som har grønn som verdien i fargekolonnen, hvis du angir grønt i username
feltet.
{
"reports": [
{
"id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
}
],
"identities": [
{
"username": "green",
"reports": [
"8d57615e-cfed-4d60-bd21-7dc05727193c"
]
}
]
}
Merk
Hvis du genererer innebyggingstoken uten å angi en bruker-ID, brukes objekt-ID-en til tjenestekontohaveren.
Hensyn og begrensninger
- Hovedbruker støttes ikke med paginerte rapporter for innebygging for kundene. Hovedbruker støttes for innebygging for organisasjonen.
- Tjenestekontohaveren må ha arbeidsområdetillatelser for medlem eller høyere (ikke visningsprogram eller bidragsyter).
Relatert innhold
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for