Sikkerhed på rækkeniveau i Power BI-rapportserver
Konfiguration af sikkerhed på rækkeniveau med Power BI-rapportserver kan begrænse adgang til data for bestemte brugere. Filtre begrænser dataadgangen på rækkeniveau, og du kan definere filtre i roller. Hvis du bruger standardtilladelserne i Power BI-rapportserver, kan alle brugere med tilladelser som Udgiver eller Indholdsadministrator til Power BI-rapporten tildele medlemmer til roller for den pågældende rapport.
Du kan konfigurere sikkerhed på rækkeniveau for rapporter, der er importeret til Power BI, med Power BI Desktop. Du kan også konfigurere sikkerhed på rækkeniveau for rapporter, der bruger DirectQuery, f.eks. SQL Server. Vær opmærksom på, at sikkerhed på rækkeniveau ikke respekteres, hvis din DirectQuery-forbindelse bruger integreret godkendelse til rapportlæsere. For Analysis Services-liveforbindelser skal du konfigurere sikkerhed på rækkeniveau i modellen i det lokale miljø. Sikkerhedsindstillingen vises ikke for datasæt med direkte forbindelse.
Definer roller og regler i Power BI Desktop
Du kan definere roller og regler i Power BI Desktop. Med denne editor kan du skifte mellem at bruge standardrullelistegrænsefladen og en DAX-grænseflade. Når du publicerer til Power BI, publicerer du også rolledefinitionerne.
Sådan definerer du sikkerhedsroller:
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 til direkte forbindelser til Analysis Services. Det skal du gøre i Analysis Services-modellen.
Under fanen Udformning skal du vælge Administrer roller.
I vinduet Administrer roller skal du vælge Ny for at oprette en ny rolle.
Under Roller skal du angive et navn til rollen og vælge Angiv.
Bemærk
Du kan ikke definere en rolle med et komma, f.eks
London,ParisRole
. .Under Vælg tabeller skal du vælge den tabel, du vil anvende et sikkerhedsfilter på rækkeniveau på.
Under Filtrer data skal du bruge standardeditoren til at definere dine roller. De oprettede udtryk returnerer en true- eller false-værdi.
Bemærk
Det er ikke alle sikkerhedsfiltre på rækkeniveau, der understøttes i Power BI, der kan defineres ved hjælp af standardeditoren. Begrænsninger omfatter udtryk, der i dag kun kan defineres ved hjælp af DAX, herunder dynamiske regler som brugernavn() eller userprincipalname(). Hvis du vil definere roller ved hjælp af disse filtre, skal du skifte til at bruge DAX-editoren.
Du kan også vælge Skift til DAX-editor for at skifte til at bruge DAX-editoren til at definere din rolle. DAX-udtryk returnerer en værdi af typen true eller false. Eksempel:
[Entity ID] = “Value”
. DAX-editoren er komplet med autofuldførelse af formler (intellisense). Du kan markere afkrydsningsfeltet over udtryksfeltet for at validere udtrykket og knappen X over udtryksfeltet for at gendanne ændringer.Bemærk
Du kan bruge username() i dette udtryk. Vær opmærksom på, at username() har formatet DOMÆNE\brugernavn i Power BI Desktop. I Power BI-tjeneste og Power BI-rapportserver er det i formatet af brugerens hovednavn (UPN). I dette udtryksfelt skal du desuden bruge kommaer til at adskille DAX-funktionsargumenter, selvom du bruger en landestandard, der normalt bruger semikolonseparatorer, f.eks. fransk eller tysk.
Du kan skifte tilbage til standardeditoren ved at vælge Skift til standardeditor. Alle ændringer, der foretages i begge editorgrænseflader, bevares, når der skiftes grænseflader, når det er muligt. Når du definerer en rolle ved hjælp af DAX-editoren, der ikke kan defineres i standardeditoren, bliver du bedt om at angive en advarsel om, at hvis du skifter editor, kan nogle oplysninger gå tabt. Hvis du vil beholde disse oplysninger, skal du vælge Annuller og fortsætte med kun at redigere denne rolle i DAX-editoren.
Bemærk
I dette udtryksfelt skal du bruge kommaer til at adskille DAX-funktionsargumenter, selvom du bruger en landestandard, der normalt bruger semikolonseparatorer, f.eks. fransk eller tysk.
Vælg Gem.
Du kan ikke tildele brugere til en rolle i Power BI Desktop. Du tildeler dem i Power BI-tjeneste. Du kan aktivere dynamisk sikkerhed i Power BI Desktop ved at bruge DAX-funktionerne username() eller userprincipalname() og have konfigureret de korrekte relationer.
Tovejskrydsfiltrering
Som standard bruger filtrering af sikkerhed på rækkeniveau envejsfiltre, uanset om relationerne er angivet til en enkelt retning eller tovejs. Du kan aktivere tovejskrydsfiltrering manuelt med sikkerhed på rækkeniveau.
Vælg relationen, og markér afkrydsningsfeltet Anvend sikkerhedsfilter i begge retninger .
Markér dette afkrydsningsfelt, når du implementerer dynamisk sikkerhed på rækkeniveau baseret på brugernavn eller logon-id.
Du kan få mere at vide under Tovejskrydsfiltrering ved hjælp af DirectQuery i Power BI Desktop og det tekniske whitepaper Sikring af tabellarisk BI Semantisk model .
Valider rollerne i Power BI Desktop
Når du har oprettet dine roller, skal du teste resultaterne af rollerne i Power BI Desktop.
Vælg Vis som under fanen Udformning.
Vinduet Vis som roller vises, hvor du kan se de roller, du har oprettet.
Vælg en rolle, du har oprettet. Vælg derefter OK for at anvende denne rolle.
Rapporten gengiver de data, der er relevante for den pågældende rolle.
Du kan også vælge Anden bruger og angive en given bruger.
Det er bedst at angive UPN (User Principal Name), da det er det, Power BI-tjeneste og Power BI-rapportserver bruger.
I Power BI Desktop viser Andre brugere kun forskellige resultater, hvis du bruger dynamisk sikkerhed baseret på dine DAX-udtryk. I dette tilfælde skal du inkludere brugernavnet samt rollen.
Vælg OK.
Rapporten gengives baseret på, hvad RLS-filtrene giver brugeren mulighed for at se.
Bemærk
Funktionen Vis som roller fungerer ikke for DirectQuery-modeller, hvor Enkeltlogon (SSO) er aktiveret.
Føj medlemmer til roller
Når du har gemt din rapport i Power BI-rapportserver, kan du administrere sikkerheden og tilføje eller fjerne medlemmer på serveren. Det er kun brugere med enten Publisher- eller Content Manager-tilladelser til rapporten, der har sikkerhedsindstillingen på rækkeniveau tilgængelig og ikke nedtonet.
Hvis rapporten ikke har de roller, den skal bruge, skal du åbne den i Power BI Desktop, tilføje eller redigere roller og derefter gemme den igen i Power BI-rapportserver.
Gem rapporten i Power BI Desktop i Power BI-rapportserver. Du skal bruge versionen af Power BI Desktop til Power BI-rapportserver.
I Power BI-rapporttjenesten skal du vælge ellipsen (...) ud for rapporten.
Vælg Administrer>sikkerhed på rækkeniveau.
På siden Sikkerhed på rækkeniveau kan du føje medlemmer til en rolle, du har oprettet i Power BI Desktop.
Hvis du vil tilføje et medlem, skal du vælge Tilføj medlem.
Angiv brugeren eller gruppen i tekstfeltet i brugernavnsformatet (DOMÆNE\bruger), og vælg de roller, du vil tildele dem. Medlemmet skal være i din organisation.
Afhængigt af hvordan du har konfigureret Active Directory, fungerer det også at angive brugerens hovednavn her. I så fald viser rapportserveren det tilsvarende brugernavn på listen.
Klik på OK for at anvende.
Hvis du vil fjerne medlemmer, skal du markere afkrydsningsfeltet ud for deres navne og vælge Slet. Du kan slette flere medlemmer ad gangen.
username() og userprincipalname()
Du kan drage fordel af DAX-funktionerne username() eller userprincipalname() i dit datasæt. Du kan bruge dem i udtryk i Power BI Desktop. Når du publicerer din model, bruger Power BI-rapportserver dem.
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-rapportserver returnerer brugernavn() og userprincipalname() både brugerens hovednavn (UPN), hvilket svarer til en mailadresse.
Hvis du bruger brugerdefineret godkendelse i Power BI-rapportserver, returneres det brugernavnsformat, du har konfigureret for brugerne.
Overvejelser og begrænsninger
Her er de aktuelle begrænsninger for sikkerhed på rækkeniveau i Power BI-modeller.
Brugere, der havde rapporter ved hjælp af DAX-funktionen username() vil bemærke ny funktionsmåde nu, hvor UPN (User Principal Name) returneres UNDTAGEN, når der bruges DirectQuery med integreret sikkerhed. Da sikkerhed på rækkeniveau ikke respekteres i dette scenarie, er funktionsmåden i dette scenarie uændret.
Du kan kun definere sikkerhed på rækkeniveau for datasæt, der er oprettet med Power BI Desktop. Hvis du vil aktivere sikkerhed på rækkeniveau for datasæt, der er oprettet med Excel, skal du først konvertere dine filer til PBIX-filer (Power BI Desktop). Få mere at vide om konvertering af Excel-filer.
Det er kun Udtræk, Transformér, Indlæs (ETL) og DirectQuery-forbindelser ved hjælp af gemte legitimationsoplysninger, der understøttes. Direkte forbindelser til Analysis Services- og DirectQuery-forbindelser, der bruger integreret godkendelse, håndteres i den underliggende datakilde.
Hvis du bruger integreret sikkerhed med DirectQuery, vil dine brugere muligvis bemærke:
- Sikkerhed på rækkeniveau er deaktiveret, og alle data returneres.
- Brugerne kan ikke opdatere deres rolletildelinger og få vist en fejl på siden RLS Administrer.
- For DAX-brugernavnfunktionen modtager du fortsat brugernavnet som DOMÆNE\BRUGER.
Rapportforfattere har ikke adgang til at få vist rapportdataene i Power BI-rapportserver, før de har tildelt sig selv roller i overensstemmelse hermed efter upload af rapporten.
Rolletildelinger via gruppemedlemskaber understøttes kun, når Power BI-rapportserver er konfigureret til at køre med NTLM- eller Kerberos-godkendelse. Servere, der kører med brugerdefineret godkendelse eller Windows Basic, skal have brugere, der eksplicit er tildelt roller.
OFTE STILLEDE SPØRGSMÅL
Kan jeg oprette disse roller for Analysis Services-datakilder?
Det kan du, hvis du har importeret dataene i Power BI Desktop. Hvis du bruger en direkte forbindelse, kan du ikke konfigurere sikkerhed på rækkeniveau i Power BI-tjeneste. Sikkerhed på rækkeniveau er defineret i Analysis Services-modellen i det lokale miljø.
Kan jeg bruge sikkerhed på rækkeniveau til at begrænse de kolonner eller målinger, der er tilgængelige for mine brugere?
Nej. Hvis en bruger har adgang til en bestemt række med data, kan vedkommende se alle kolonner med data for den pågældende række.
Giver sikkerhed på rækkeniveau mig mulighed for at skjule detaljerede data, men give adgang til data, der er opsummeret i visualiseringer?
Nej, du sikrer individuelle rækker med data, men brugerne kan altid se enten detaljerne eller de opsummerede data.
Kan jeg tilføje nye roller i Power BI Desktop, hvis jeg allerede har fået tildelt eksisterende roller og medlemmer?
Ja, hvis du allerede har eksisterende roller, der er defineret, og medlemmer er tildelt i Power BI-rapportserver, kan du oprette yderligere roller og publicere rapporten igen uden at påvirke dine aktuelle tildelinger.
Relateret indhold
Har du flere spørgsmål? Prøv at spørge Power BI-community'et