Sikkerhet på radnivå (RLS) med Power BI
Sikkerhet på radnivå (RLS) med Power BI kan brukes til å begrense datatilgang for enkelte brukere. Filtre begrenser tilgang til data på radnivå, og du kan definere filtre i roller. I Power BI-tjenesten har medlemmer av et arbeidsområde tilgang til datasettene i arbeidsområdet. RLS begrenser ikke denne datatilgangen.
Du kan konfigurere RLS for datamodeller som er importert i Power BI med Power BI Desktop. Du kan også konfigurere RLS på datasett som bruker DirectQuery, for eksempel SQL Server. For live-tilkoblinger med Analysis Services eller Azure Analysis Services, må du konfigurere sikkerhet på radnivå i modellen, og ikke i Power BI Desktop. Sikkerhetsalternativet vises ikke på datasett med live-tilkobling.
Definer roller og regler i Power BI Desktop
Du kan definere roller og regler i Power BI Desktop. Når du publiserer til Power BI, publiseres også rolledefinisjonene.
Følg disse trinnene for å definere sikkerhetsroller.
Importer data til Power BI Desktop-rapporten, eller konfigurere en DirectQuery-tilkobling.
Obs!
Du kan ikke definere roller i Power BI Desktop for live-tilkoblinger i Analysis Services. Du må gjøre dette i Analysis Services-modellen.
Velg Behandle roller fra Modellering-fanen.

Velg Opprettfra vinduet Administrer roller.

Under Roller, oppgi et navn for rollen.
Obs!
Du kan ikke definere en rolle med komma, for eksempel
London,ParisRole.Under Tabeller, merk tabellen som du vil bruke for å angi en DAX-regel.
Angi DAX-uttrykkene i boksen Tabellfilter for DAX-uttrykk. Dette uttrykket returneres med en verdi som sann eller usann. Eksempel:
[Entity ID] = “Value”.
Obs!
Du kan bruke username() i dette uttrykket. Vær oppmerksom på at username() har formatet DOMENE\brukernavn i Power BI Desktop. I Power BI-tjenesten og rapportserver for Power BI er det i formatet til brukerens brukerhovednavn (UPN). Du kan eventuelt bruke userprincipalname() som alltid returnerer brukeren i formatet til brukerhovednavnet, username@contoso.com.
Når du har opprettet DAX-uttrykket, velg avmerkingen ovenfor uttrykksboksen for å validere uttrykket.

Obs!
I denne uttrykksboksen bruker du komma til å skille DAX-funksjonsargumenter selv om du bruker en nasjonal innstilling som vanligvis bruker semikolon som skilletegn(f.eks. fransk eller tysk).
Velg Lagre.
Du kan ikke tilordne brukere til en rolle i Power BI Desktop. Du tilordner dem i Power BI-tjenesten. Du kan aktivere dynamisk sikkerhet i Power BI Desktop ved å ta i bruk DAX-funksjoner for username() eller userprincipalname() , og ved å ha de riktige relasjonene konfigurert.
Filtrering for sikkerhet på radnivå bruker filtre i én retning som standard, uansett om relasjonene er angitt til én retning eller flere retninger. Du kan aktivere kryssfiltrering i begge retninger med sikkerhet på radnivå manuelt ved å velge relasjonen og merke av for Bruk sikkerhetsfilter i begge retninger. Velg dette alternativet når du også har implementert dynamisk sikkerhet på radnivå på servernivå, der sikkerhet på radnivå er basert på brukernavn eller påloggings-ID.
Hvis du vil ha mer informasjon, kan du se Toveis kryssfiltrering med DirectQuery i Power BI Desktop og den tekniske artikkelen Sikre tabulær BI Semantic Model.

Validering av roller i Power BI Desktop
Når du har opprettet rollene, kan du teste resultatene av rollene i Power BI Desktop.
Velg Vis som fra Modellering-fanen.

Vinduet Vis som roller vises, der kan du se rollene du har opprettet.

Velg en rolle du opprettet, og velg deretter OK for å tildele rollen.
Rapporten gjengir dataene som er relevante for denne rollen.
Du kan også velge Annen bruker og angi en gitt bruker.

Det er best å angi brukerhovednavn (UPN) siden det er det Power BI-tjenesten og rapportserver for Power BI bruker.
I Power BI Desktop viser Annen bruker andre resultater, bare hvis du bruker dynamisk sikkerhet som er basert på DAX-uttrykk.
Velg OK.
Rapporten gjengis basert på det brukeren kan se.
Obs!
Funksjonen Vis som rolle fungerer ikke for DirectQuery-modeller med Enkel Sign-On (SSO) aktivert.
Nå som du er ferdig med å validere rollene i Power BI Desktop, kan du publisere rapporten på Power Bi-tjeneste.
Administrere sikkerhet på modellen din
Hvis du vil administrere sikkerheten på datamodellen, åpner du arbeidsområdet der du lagret rapporten i Power Bi-tjeneste, og gjør følgende:
Velg Flere alternativer-menyen for et datasett i Power BI-tjenesten. Denne menyen vises når du holder pekeren over et datasettnavn, enten du velger det fra navigasjonsmenyen eller siden for arbeidsområdet.


Velg Sikkerhet.

Sikkerhet tar deg til Role-Level Security-siden der du legger til medlemmer i en rolle du opprettet i Power BI Desktop. Bidragsyter (og høyere arbeidsområderoller) vil se Sikkerhet og kan tilordne brukere til en rolle.
Du kan bare opprette eller endre roller i Power BI Desktop.
Arbeide med medlemmer
Legg til medlemmer
I Power Bi-tjeneste kan du legge til et medlem i rollen ved å skrive inn e-postadressen eller navnet på brukeren eller sikkerhetsgruppen. Du kan ikke legge til grupper opprettet i Power BI. Du kan legge til medlemmer utenfor organisasjonen.
Du kan bruke følgende grupper til å konfigurere sikkerhet på radnivå.
- Distribusjonsgruppe
- E-postaktivert gruppe
- Sikkerhetsgruppe
Vær imidlertid oppmerksom på at Office 365 grupper ikke støttes og ikke kan legges til i noen roller.

Du kan også se hvor mange medlemmer som innehar rollen, da det er et tall i parentes ved siden av rollenavnet eller Medlemmer.

Fjerne medlemmer
Du kan fjerne medlemmer ved å klikke på X-en ved siden av navnet deres.

Validere rollen i Power BI-tjenesten
Du kan validere at rollen du definerte, fungerer som den skal i Power Bi-tjeneste ved å teste rollen.
- Velg Flere alternativer (...) ved siden av-rollen.
- Velg Test data som rolle.

Da ser du rapporter som er tilgjengelig for denne rollen. Instrumentbord vises ikke i denne visningen. Rollen som brukes, vises i toppteksten for siden.

Test andre roller, eller en kombinasjon av roller, ved å velge Viser nå som.

Du kan velge å vise data som en spesifikk person, eller du kan velge en kombinasjon av tilgjengelige roller for å validere at de fungerer.
Du returnerer til normalvisning ved å velge Tilbake til sikkerhet på radnivå.
Obs!
Funksjonen Test som rolle fungerer ikke for DirectQuery-modeller med Enkel Sign-On (SSO) aktivert.
Bruk av DAX-funksjonen username() eller userprincipalname()
Du kan dra nytte av DAX-funksjonene username() eller userprincipalname() i datasettet. Du kan bruke dem i uttrykk i Power BI Desktop. Når du publiserer modellen din, vil den brukes i Power BI-tjenesten.
I Power BI Desktop vil username() returnere en bruker i formatet DOMENE\Bruker, og userprincipalname() vil returnere en bruker i formatet user@contoso.com.
I Power BI-tjenesten vil både username() og userprincipalname() returnere brukerens Hovednavn for bruker (UPN). Dette ligner på en e-postadresse.
Bruk av sikkerhet på radnivå med arbeidsområder i Power BI
Hvis du publiserer Power BI Desktop-rapporten til en ny arbeidsområdeopplevelse i Power Bi-tjeneste, brukes RLS-rollene på medlemmer som er tilordnet til Seer-rollen i arbeidsområdet. Selv om seere får kompileringstillatelser til datasettet, gjelder fortsatt RLS. Hvis seere med kompileringstillatelser for eksempel bruker Analyser i Excel, beskyttes visningen av dataene av RLS. Medlemmer av arbeidsområdet som er tilordnet Admin, medlem eller bidragsyter, har redigeringstillatelse for datasettet og gjelder derfor ikke for dem. Hvis du vil at RLS skal gjelde for personer i et arbeidsområde, kan du bare tilordne dem Seer-rollen . Les mer om roller i de nye arbeidsområdene.
Advarsel
Hvis du har konfigurert et klassisk arbeidsområde slik at medlemmene har redigeringstillatelser, brukes ikke RLS-rollene på dem. Brukere kan se alle dataene. Les mer om klassiske arbeidsområder.

Viktige faktorer og begrensninger
Gjeldende begrensninger for sikkerhet på radnivå på skymodeller er som følger:
- Hvis du tidligere definerte roller og regler i Power BI-tjenesten, må du opprette dem i Power BI Desktop på nytt.
- Du kan bare definere RLS på datasett som er opprettet med Power BI Desktop. Hvis du vil aktivere RLS for datasett som er opprettet med Excel, må du først konvertere filene til Power BI Desktop (PBIX)-filer. Finn ut mer.
- Tjenestekontohavere kan ikke legges til i en RLS-rolle. Følgelig brukes ikke RLS for apper som bruker en tjenestekontohaver som den endelige effektive identiteten.
- Bare import- og DirectQuery-tilkoblinger støttes. Direkte tilkoblinger til Analysis Services håndteres i lokale modellen.
- Funksjonen Test som rolle/Vis som rolle fungerer ikke for DirectQuery-modeller med Enkel Sign-On (SSO) aktivert.
Problem: Publisere på nytt når RLS er konfigurert
Det er et kjent problem der du får en feilmelding hvis du prøver å publisere en tidligere publisert rapport fra Power BI Desktop. Scenarioet er som følger:
Benedikte har et datasett som er publisert til Power BI-tjenesten, og har konfigurert RLS.
Benedikte oppdaterer rapporten i Power BI Desktop, og publiserer på nytt.
Anna mottar en feil.
Midlertidig løsning
Publiser Power BI Desktop-filen fra Power BI-tjenesten på nytt frem til dette problemet er løst. Du kan gjøre dette ved å velge Hent datafiler>.
Problem: Flere roller og begrensede relasjoner
Du får en feilmelding hvis du tilhører flere RLS-roller, og minst én av rollene er avhengig av en begrenset relasjon.
Vurder følgende datamodell:

I denne forenklede datamodellen, som kombinerer data fra to Power BI datasett, finnes det to relasjoner:
- En vanlig relasjon mellom Salg og Produkt.
- En begrenset relasjon mellom Salg og Kunde. Denne relasjonen er begrenset fordi kunden er i en annen kildegruppe. Det er ikke den eneste grunnen til at en relasjon kan begrenses. Hvis du vil ha mer informasjon, kan du se begrensede relasjoner.
To RLS-roller er også definert i denne datamodellen:
- RLS_Product, som er definert på Produkt og begrenser tilgangen til produktinformasjon.
- RLS_Customer, som er definert på Kunde og begrenser tilgangen til kundeinformasjon.
Bruker A tilhører både RLS_Product og RLS_Customer. Når bruker A får tilgang til dataene i rapporten, blir både RLS_Product og RLS_Customer evaluert. Hvis du vil evaluere RLS_Customer, må dataene deles på tvers av den begrensede relasjonen mellom Salg og Kunde. Denne delingen kan utilsiktet avsløre potensiell informasjon om produkter. Derfor tillater Power BI ikke at denne delingen skjer, og genererer i stedet følgende feil:
«Brukeren tilhører flere roller RLS_Product, RLS_Customer» som har sikkerhetsfiltre, som ikke støttes når én av rollene har filtre som påvirker tabellen Salg med SecurityFilteringBehavior=Begge relasjonene.»
Midlertidig løsning
Ta i bruk én av følgende midlertidige løsninger for å unngå denne feilen:
- Hvis det er mulig, må du ikke plassere noen bruker i flere RLS-roller. I scenarioet ovenfor kan vi opprette en annen RLS-rolle, for eksempel RLS_Product_Customer, som kombinerer RLS-filtrene som er angitt i både RLS_Product og RLS_Customer. Deretter kan vi tilordne bruker A til bare å RLS_Product_Customer, og fjerne brukeren fra både RLS_Product og RLS_Customer.
- Definer RLS-roller bare på én kildegruppe. Hvis det er nødvendig for en bruker å tilhøre flere RLS-roller, må du kontrollere at alle RLS-filtre som er angitt i rollene, er definert i tabeller fra én enkelt kildegruppe. Hvis vi i scenarioet ovenfor kunne definere RLS_Customer i kildegruppen som inneholder salg og produkt, kunne vi unngå feilen.
Obs!
Vi er klar over at i mange situasjoner Power BI er for restriktiv og informasjonen trygt kan deles mellom kildene som er involvert. Mens vi arbeider med å lansere en løsning for denne situasjonen, bør du vurdere å ta i bruk en av de midlertidige løsningene ovenfor.
Vanlige spørsmål
Spørsmål: Hva skjer hvis jeg tidligere har opprettet roller og regler for et datasett i Power BI-tjenesten? Vil de fremdeles fungere hvis jeg ikke gjør noe?
Svar: Nei, visualobjekter gjengis ikke riktig. Du må opprette rolle og regler i Power BI Desktop på nytt, og deretter publisere dem i Power BI-tjenesten.
Spørsmål: Kan jeg opprette disse rollene for Analysis Services-datakilder?
Svar: Hvis du har importert dataene til Power BI Desktop, kan du det. Hvis du bruker en live-tilkobling, kan du ikke konfigurere RLS i Power BI-tjenesten. Dette er definert i den lokale Analysis Services-modellen.
Spørsmål: Kan jeg bruke RLS til å begrense kolonner eller mål som er tilgjengelig for mine brukere?
Svar: Nei, hvis en bruker har tilgang til en bestemt rad med data, kan de se alle kolonnene med data for denne raden.
Spørsmål: Vil RLS la meg skjule detaljerte data, men gi tilgang til data som er oppsummert i visualobjekter?
Svar: Nei, du sikrer individuelle rader med data, men brukere kan alltid se enten detaljer eller sammendragsdata.
Spørsmål: Datakilden min har allerede definerte sikkerhetsroller (for eksempel SQL Server roller eller SAP BW-roller). Hva er forholdet mellom disse og RLS?
Svar: Svaret avhenger av om du importerer data eller bruker DirectQuery. Hvis du importerer data til ditt Power BI-datasett, brukes ikke sikkerhetsrollene i datakilden din. I dette tilfellet bør du definere RLS for å styrke sikkerhetsregler for brukere som kobler seg til i Power BI. Hvis du bruker DirectQuery, brukes sikkerhetsrollene i datakilden din. Når en bruke åpner en rapport, sender Power BI en spørring til den underliggende datakilden, som anvender sikkerhetsregler til dataene basert på brukerens legitimasjon.