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

    Skjermbilde av Power BI Report Builder-filteret.

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

    Skjermbilde som viser verdien Farge valgt fra Uttrykk-menyen.

  3. Velg verdifunksjonsknappen.

    Power BI Report Builder-verdi

  4. Velg Innebygde felt fra kategorilisten i uttrykksvinduet.

    Skjermbilde som viser Uttrykk-vinduet med innebygde felt valgt som Kategori og Kjøringstid valgt som element.

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

    Power BI Report Builder UserID

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

    Egenskaper for semantisk modell for Power BI Report Builder

Bruke en spørring

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

    Parametere for Power BI Report Builder

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

    Parameternavn for Power BI Report Builder

  3. Velg Spørring fra venstre rute, legg til UserID-parameteren i spørringen som en del av spørringen, og velg 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.

    Redigering av Power BI Report Builder-spørringer

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 det 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, begrenser innebyggingstokenet 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 minst medlem eller (ikke visningsprogram eller bidragsyter).

Generer et innebyggingstoken