Sikkerhed på rækkeniveau (RLS) med Power BI

Sikkerhed på rækkeniveau (RLS) med Power BI kan bruges til at begrænse adgang til datakilder for bestemte brugere. Filtre begrænser adgangen til data på rækkeniveau, og du kan definere filtre inden for roller. I Power BI-tjenesten har medlemmer af et arbejdsområde adgang til datasæt i arbejdsområdet. Sikkerhed på rækkeniveau (RLS) begrænser ikke adgangen til data.

Du kan konfigurere sikkerhed på rækkeniveau for datamodeller, der er importeret til Power BI, med Power BI Desktop. Du kan også konfigurere sikkerhed på rækkeniveau for datasæt, der anvender DirectQuery, f.eks. SQL Server. Hvis du vil have Analysis Services- eller Azure Analysis Services-liveforbindelser, skal du konfigurere sikkerhed på rækkeniveau i modellen, ikke i Power BI Desktop. Sikkerhedsindstillingen vises ikke for datasæt med liveforbindelse.

Definer roller og regler i Power BI Desktop

Du kan definere roller og regler i Power BI Desktop. Når du publicerer til Power BI, publiceres rolledefinitionerne også.

Følg disse trin for at definere sikkerhedsroller.

  1. Importér data til din Power BI Desktop-rapport, eller konfigurer en DirectQuery-forbindelse.

    Bemærk

    Du kan ikke definere roller i Power BI Desktop for direkte forbindelser til Analysis Services. Det skal du gøre i Analysis Services-modellen.

  2. Vælg Administrer roller på fanen Udformning.

    Vælg Administrer roller

  3. Vælg Opret i vinduet Administrer roller.

    Vælg Opret

  4. Angiv et navn for rollen under Roller.

  5. Vælg den tabel, hvor du vil anvende en DAX-regel, under Tabeller.

  6. I feltet Tabelfilter for DAX-udtryk skal du angive DAX-udtrykkene. Dette udtryk returnerer værdien true eller false. For eksempel: [Entity ID] = “Value”.

    Vinduet Administrer roller

    Bemærk

    Du kan bruger username() i udtrykket. Vær opmærksom på, at username() har formatet DOMÆNE\brugernavn i Power BI Desktop. I Power BI-tjenesten og Power BI-rapportserver har det format som brugerens eget hovednavn. Du kan også bruge userprincipalname() , som altid returnerer brugeren i samme format som brugerens hovednavn brugernavn@contoso.com.

  7. Når du har oprettet DAX-udtrykket, kan du markere afkrydsningsfeltet over udtryksfeltet for at validere udtrykket.

    Valider DAX-udtryk

    Bemærk

    I dette udtryksfelt bruger du kommaer til at adskille argumenter for DAX-funktionen, selvom du bruger en landestandard, der normalt bruger semikolon som separator (f.eks. fransk eller tysk).

  8. Vælg Gem.

Du kan ikke tildele brugere til en rolle i Power BI Desktop. Dem tildeler du i Power BI-tjenesten. Du kan aktivere dynamisk sikkerhed i Power BI Desktop ved at bruge DAX-funktionen username() eller userprincipalname() og have konfigureret de relevante relationer.

Filtrering af sikkerhed på rækkeniveau bruger som standard envejsfiltre, uanset om relationerne er angivet til envejs eller tovejs. Du kan aktivere tovejskrydsfiltrering med sikkerhed på rækkeniveau manuelt ved at vælge relationen og markere afkrydsningsfeltet Anvend sikkerhedsfilter i begge retninger. Du skal markere dette afkrydsningsfelt, når du også har implementeret dynamisk sikkerhed på rækkeniveau på serverniveau, hvor sikkerhed på rækkeniveau er baseret på brugernavn eller logon-id.

Du kan finde flere oplysninger på Tovejskrydsfiltrering ved hjælp af DirectQuery i Power BI Desktop og den tekniske artikel Sikring af modellen for tabellarisk BI-semantik.

Anvend sikkerhedsfilter

Valider rollerne i Power BI Desktop

Når du har oprettet dine roller, kan du teste resultaterne af rollerne i Power BI Desktop.

  1. Fra fanen modelle ring skal du vælge Vis som.

    Vælg Vis som roller

    Vinduet Vis som roller vises, hvor du kan få vist de roller, som du har oprettet.

    Vinduet Vis som roller

  2. Vælg en rolle, du har oprettet, og vælg derefter OK for at anvende rollen.

    Rapporterne gengiver de data, der er relevante for rollen.

  3. Du kan også vælge Anden bruger og angive en specifik bruger.

    Vælg en anden bruger

    Det er bedst at angive brugerens hovednavn, da det er det navn, som Power BI-tjenesten og Power BI-rapportserver bruger.

    I Power BI Desktop viser Anden bruger kun forskellige resultater, hvis du bruger dynamisk sikkerhed baseret på dine DAX-udtryk.

  4. Vælg OK.

    Rapporten gengives baseret på det, som brugeren kan se.

    Bemærk

    Funktionen Vis som rolle fungerer ikke for DirectQuery-modeller med enkelt Sign-On (SSO) aktiveret.

nu, hvor du er færdig med at validere rollerne i Power BI Desktop, skal du gå videre og udgive din rapport til Power BI tjeneste.

Administrer sikkerheden for din model

hvis du vil administrere sikkerhed for din datamodel, skal du åbne det arbejdsområde, hvor du har gemt din rapport i Power BI tjeneste, og udføre følgende trin:

  1. Vælg menuen Flere indstillinger for et datasæt i Power BI-tjenesten. Denne menu vises, når du peger på navnet på et datasæt, uanset om du vælger det i navigationsmenuen eller på arbejdsområdesiden.

    Menuen Flere indstillinger i arbejdsområdet

    Menuen Flere indstillinger i navigationsmenuen

  2. Vælg Sikkerhed.

    Vælg sikkerhed i menuen Flere indstillinger

Sikkerhed fører dig til siden med Role-Level sikkerhed, hvor du føjer medlemmer til en rolle, du har oprettet i Power BI Desktop. Kun ejerne af datasættet vil se sikkerhed. Hvis datasættet er i en gruppe, kan kun administratorer af gruppen se sikkerhedsindstillingen.

Du kan kun oprette eller redigere roller i Power BI Desktop.

Arbejd med medlemmer

Tilføj medlemmer

i Power BI service kan du føje et medlem til rollen ved at skrive mailadressen eller navnet på brugeren eller sikkerhedsgruppen. Du kan ikke tilføje grupper, der er oprettet i Power BI. Du kan tilføje medlemmer, som ikke er fra organisationen.

Du kan bruge følgende grupper til at konfigurere sikkerhed på rækkeniveau.

  • Distributionsgruppe
  • E-mail-aktiveret gruppe
  • Sikkerhedsgruppe

bemærk dog, at Office 365 grupper ikke understøttes og ikke kan føjes til roller.

Tilføj et medlem

Du kan også se, hvor mange medlemmer der er en del af rollen, ud fra tallet i parentes ud for rollenavnet eller ud for Medlemmer.

Medlemmer af rollen

Fjern medlemmer

Du kan fjerne medlemmer ved at vælge X ud for medlemmets navn.

Fjern medlem

Validering af rollen i Power BI-tjenesten

du kan validere, at den rolle, du har defineret, fungerer korrekt i Power BI tjeneste ved at teste rollen.

  1. Vælg Flere indstillinger (...) ud for rollen.
  2. Vælg test data som rolle.

Test som rolle

Derefter får du vist rapporter, der er tilgængelige for denne rolle. Dashboards vises ikke i denne visning. I sidehovedet vises den rolle, der anvendes.

Vises nu som

Du kan teste andre roller eller en kombination af roller ved at vælge Får nu vist som.

Test andre roller

Du kan vælge at få vist data som en bestemt person, eller du kan vælge en kombination af tilgængelige roller for at bekræfte, om de fungerer.

Hvis du vil vende tilbage til normal visning, skal du vælge Tilbage til sikkerhed på rækkeniveau.

Bemærk

Funktionen test som rolle fungerer ikke for DirectQuery-modeller med enkelt Sign-On (SSO) aktiveret.

Brug af DAX-funktionen username() eller userprincipalname()

Du kan drage fordel af DAX functions username () eller userPrincipalName () i dit datasæt. Du kan bruge dem i udtryk i Power BI Desktop. Når du publicerer din model, bruges det i Power BI-tjenesten.

I Power BI Desktop returnerer username() en bruger i formatet DOMÆNE\bruger, og userprincipalname() returnerer en bruger i formatet user@contoso.com.

I Power BI-tjenesten returnerer både username() og userprincipalname() brugerens hovednavn (UPN). Dette ligner en mailadresse.

Brug sikkerhed på rækkeniveau med arbejdsområder i Power BI

hvis du publicerer din Power BI Desktop rapport til en ny workspace-bruger i Power BI tjeneste, anvendes RLS-rollerne på de medlemmer, der er knyttet til fremviser rollen i arbejdsområdet. Selvom seerne har Build-tilladelser til datasættet, gælder RLS stadig. hvis seere med Build-tilladelser f. eks. bruger analysér i Excel, er deres visning af dataene beskyttet af RLS. Medlemmer af arbejdsområdet, der har fået tildelt administrator, medlem eller bidragydere , har tilladelsen Edit til datasættet, og derfor gælder RLS ikke for dem. Hvis du vil have RLS til at gælde for personer i et arbejdsområde, kan du kun tildele dem til Viewer -rollen. Læs mere om roller i de nye arbejdsområder.

Advarsel!

Hvis du har konfigureret et klassisk arbejdsområde, så medlemmerne har tilladelsen Rediger, vil RLS-rollerne ikke blive anvendt på dem. Brugerne kan se alle dataene. Læs mere om klassiske arbejdsområder.

Gruppeindstillinger

Overvejelser og begrænsninger

De aktuelle begrænsninger for sikkerhed på rækkeniveau i cloudmodeller er som følger:

  • Hvis du tidligere har defineret roller og regler i Power BI-tjenesten, skal du genoprette dem i Power BI Desktop.
  • Du kan kun definere RLS for de datasæt, der er oprettet ved hjælp af Power BI Desktop. Hvis du vil aktivere RLS for de datasæt, der er oprettet i Excel, skal du først konvertere dine filer til PBIX-filer (Power BI Desktop). Få mere at vide.
  • Tjeneste principaler kan ikke føjes til en RLS-rolle. RLS anvendes derfor ikke for apps, der bruger en tjeneste principal som den endelige faktiske identitet.
  • Det er kun Import- og DirectQuery-forbindelser, der understøttes. Dynamiske forbindelser til Analysis Services skal håndteres i modellen i det lokale miljø.
  • Funktionen Test som rolle/Vis som rolle fungerer ikke for DirectQuery-modeller, hvor Enkeltstående Sign-On (SSO) er aktiveret.

Kendte problemer

Der er et kendt problem, hvor du får vist en fejlmeddelelse, hvis du forsøger at publicere en tidligere publiceret rapport Power BI Desktop. Scenariet er som følger:

  1. Anna har et datasæt, der er publiceret i Power BI-tjenesten, og hvor RLS er konfigureret.

  2. Anna opdaterer rapporten i Power BI Desktop og publicerer den igen.

  3. Anna modtager en fejl.

Midlertidig løsning: Udgiv filen Power BI Desktop igen fra tjenesten Power BI, indtil problemet er løst. Det kan du gøre ved at vælge Hent data > Filer.

Ofte stillede spørgsmål

Spørgsmål: Hvad skal jeg gøre, hvis jeg tidligere har oprettet roller og regler for et datasæt i Power BI-tjenesten? Vil de stadig virke, hvis jeg ikke gør noget?
Svar: Nej, visualiseringer gengives ikke korrekt. Du skal genoprette rollerne og reglerne i Power BI Desktop og derefter publicere dem til Power BI-tjenesten.

Spørgsmål: Kan jeg oprette disse roller til Analysis Services-datakilder?
Svar: Det kan du, hvis du importerede dataene i Power BI Desktop. Hvis bruger en dynamisk forbindelse, kan du ikke konfigurere RLS i Power BI-tjenesten. Dette defineres i Analysis Services-modellen i det lokale miljø.

Spørgsmål: Kan jeg bruge RLS til at begrænse, hvilke kolonner eller målinger brugerne har adgang til?
Svar: Nej, hvis en bruger har adgang til en bestemt række data, kan brugeren se alle kolonner med data for den række.

Spørgsmål: Vil RLS lade mig skjule detaljerede data, men samtidig give adgang til de data, der er opsummeret i visualiseringer?
Svar: Nej. Du beskytter individuelle rækker, men brugerne kan altid se enten detaljer eller de opsummerede data.

Spørgsmål: Der er allerede defineret sikkerhedsroller for min datakilde (f.SQL Server. rolle eller SAP BW-roller). Hvad er relationen mellem disse og sikkerhed på rækkeniveau?
Svar: Svaret afhænger af, om du importerer data eller bruger DirectQuery. Hvis du importerer data til dit Power BI-datasæt, bruges sikkerhedsrollerne i din datakilde ikke. I dette tilfælde skal du definere sikkerhed på rækkeniveau for at gennemtvinge sikkerhedsregler for de brugere, der opretter forbindelse i Power BI. Hvis du bruger DirectQuery, bruges sikkerhedsrollerne i din datakilde. Når en bruger åbner en rapport, sender Power BI en forespørgsel til den underliggende datakilde, som anvender sikkerhedsregler for dataene på baggrund af brugerens legitimationsoplysninger.

Næste trin