Implementere sikkerhet på radnivå i innebygde paginerte rapporter

Når du bygger inn en paginert rapport kan du kontrollere hvilke data som vises. Dette gjør det mulig å skreddersy informasjonen som vises per bruker. Hvis du for eksempel har en paginert rapport for Power BI som inneholder globale salgsresultater, kan du bygge den inn slik at bare salgsresultatene fra et bestemt område er tilgjengelig.

Denne funksjonen gir en sikker måte å vise et delsett av dataene på, på en måte som ikke avslører resten av dataene. Dette ligner på funksjonen Sikkerhet på radnivå (RLS), som gir en sikker måte å vise data i Power BI-rapporter (som ikke er paginerte), instrumentbord, fliser og datasett.

Obs!

Denne funksjonen fungerer med innebygging av paginerte rapporter for kunder.

Å konfigurere en parameter for å filtrere datasettet

Når du bruker sikkerhet på radnivå i en paginert rapport i Power BI, må du tilordne en parameter til UserID-attributtet. Denne parameteren begrenser dataene som trekkes ut fra datasettet, før rapporten bygges inn.

Etter at du har tilordnet parameteren til UserID, kan du bruke API-en Reports GenerateTokenInGroup for rapporter til å hente innebyggingstokenet.

Bruk UserID som filter på rapport- eller spørringsnivå

Du kan bruke UserId som et filter eller i en spørring til datakilden i Power BI Report Builder.

Å bruke filteret

  1. Velg Filter i vinduet Egenskaper for datasett fra ruten til venstre.

    Filter i Power BI Report Builder

  2. Velg parameteren du vil bruke til å filtrere dataene, fra rullegardinmenyen Uttrykk.

    Skjermbilde som viser verdifargen som er valgt på uttrykksmenyen.

  3. Klikk på knappen for funksjonen Verdi.

    Verdi i Power BI Report Builder

  4. Velg Innebygde felter fra Kategori-listen i vinduet Uttrykk.

    Skjermbilde som viser uttrykksvinduet med innebygde felter som er valgt som kategori, og ExecutionTime som er valgt som element.

  5. Velg UserID og klikk OK i listen Element.

    UserID i Power BI Report Builder

  6. I vinduet Egenskaper for datasett bekrefter du at uttrykket er din valgte parameter = UserID og klikker OK.

    Egenskaper for datasett i Power BI Report Builder

Å bruke en spørring

  1. I vinduet Egenskaper for datasett velger du Parametere i ruten til venstre og klikker Legg til.

    Parametere i Power BI Report Builder

  2. I Parameternavn angir du @UserID, og i Parameterverdi legger du til [&UserID] .

    Parameternavn i Power BI Report Builder

  3. Velg Spørring i den venstre ruten, i spørringen legger du til UserID-parameteren som en del av spørringen, og klikker OK.

    Obs!

    I skjermbildet under er parameteren for farge brukt som et eksempel (whereFinalTable.Color = @UserID). Hvis det er nødvendig, er det mulig å opprette en mer kompleks spørring.

    Redigering av spørringer i Power BI Report Builder

Å sende den konfigurerte parameteren ved hjelp av innebyggingstoken

Når du bygger inn en paginert rapport for kundene dine, brukes API-en GenerateTokenInGroup for rapporter til å hente innebyggingstokenet. Dette tokenet kan også brukes til å filtrere noen av dataene som trekkes ut av den paginerte rapporten.

Hvis du bare vil vise noen av dataene, kan du tilordne username-feltet med informasjonen du vil vise. Hvis du for eksempel skriver inn grønn i username-feltet i en paginert rapport som har en farge-parameter, vil innebyggingstokenet begrense de innebygde dataene til å vise bare dataene som har verdien grønn i farge-kolonnen.

{
    "accessLevel": "View",
    "reportId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
    "identities": [
            {
                    // Replace the 'username' with a paginated report parameter
                    "username":     "...",
                    "reports: [
                        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
                    ]
            }
    ]
}