Share via


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:

  1. Konfigurere miljøet til å filtrere rapporten
  2. Filtrere dataene på rapport- eller spørringsnivå
  3. 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

  1. Velg Filter fra venstre rute i vinduet Egenskaper for semantisk modell.

    Screenshot of the Power BI Report Builder filter.

  2. Velg parameteren du vil bruke til filtrering av dataene, på rullegardinmenyen Uttrykk .

    Screenshot shows the value Color selected from the Expression menu.

  3. Klikk verdifunksjonsknappen.

    Power BI Report Builder value

  4. Velg Innebygde felt fra kategorilisten i uttrykksvinduet.

    Screenshot shows the Expression window with Built-in Fields selected as Category and ExecutionTime selected as Item.

  5. Velg UserID fra Element-listen, og klikk OK.

    Power BI Report Builder UserID

  6. Kontroller at uttrykket er den valgte parameteren = UserID i vinduet Egenskaper for semantisk modell, og klikk OK.

    Power BI Report Builder semantic model properties

Bruke en spørring

  1. Velg Parametere fra venstre navigasjonsrute i vinduet Egenskaper for semantisk modell, og klikk Legg til.

    Power BI Report Builder parameters

  2. Angi @UserID i Parameternavn-feltet, og legg til [&UserID] i parameterverdien.

    Power BI Report Builder parameter name

  3. 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.

    Power BI Report Builder queries edit

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).

Generer et innebyggingstoken