Dela via


Säkerhet på radnivå (RLS) med Power BI

Säkerhet på radnivå (RLS) med Power BI kan användas för att begränsa dataåtkomsten för givna användare. Filter begränsar dataåtkomsten på radnivå och du kan definiera filter i roller. I usluga Power BI har användare med åtkomst till en arbetsyta åtkomst till semantiska modeller på den arbetsytan. RLS begränsar endast dataåtkomst för användare med visningsbehörighet . Det gäller inte administratörer, medlemmar eller deltagare.

Du kan konfigurera RLS för datamodeller som importerats till Power BI med Power BI. Du kan också konfigurera RLS på semantiska modeller som använder DirectQuery, till exempel SQL Server. För Analysis Services- eller Azure Analysis Services-anslutningar kan du konfigurera säkerhet på radnivå i modellen, inte i Power BI. Säkerhetsalternativet visas inte för semantiska liveanslutningsmodeller.

Definiera roller och regler i Power BI Desktop

Du kan definiera roller och regler i Power BI Desktop. Med den här redigeraren kan du växla mellan att använda standardlistegränssnittet och ett DAX-gränssnitt. När du publicerar till Power BI publicerar du även rolldefinitionerna.

Så här definierar du säkerhetsroller:

  1. Importera data till din Power BI Desktop-rapport eller konfigurera en DirectQuery-anslutning.

    Kommentar

    Du kan inte definiera roller i Power BI Desktop för Analysis Services live-anslutningar. Du måste göra det i Analysis Services-modellen.

  2. På fliken Modellering väljer du Hantera roller.

    Skärmbild av fliken Modellering med fokus på Hantera roller.

  3. I fönstret Hantera roller väljer du Ny för att skapa en ny roll.

    Skärmbild av fönstret Hantera roller med knappen Skapa ny roll markerad.

  4. Under Roller anger du ett namn för rollen och väljer retur.

    Skärmbild av fönstret Hantera roller som markerar namnbytet på en roll.

    Kommentar

    Du kan inte definiera en roll med kommatecken, till exempel London,ParisRole.

  5. Under Välj tabeller väljer du den tabell som du vill använda ett säkerhetsfilter på radnivå för.

  6. Under Filtrera data använder du standardredigeraren för att definiera dina roller. De uttryck som skapas returnerar ett sant eller falskt värde.

    Skärmbild av standardredigeraren för fönstret Hantera roller för att definiera säkerhet på radnivå.

    Kommentar

    Alla säkerhetsfilter på radnivå som stöds i Power BI kan inte definieras med hjälp av standardredigeraren. Begränsningarna omfattar uttryck som i dag bara kan definieras med DAX, inklusive dynamiska regler som username() eller userprincipalname(). Om du vill definiera roller med hjälp av dessa filter växlar du till att använda DAX-redigeraren.

  7. Du kan också välja Växla till DAX-redigeraren för att växla till att använda DAX-redigeraren för att definiera din roll. DAX-uttryck returnerar värdet true eller false. Exempel: [Entity ID] = “Value”. DAX-redigeraren är komplett med automatisk komplettering för formler (intellisense). Du kan markera kryssrutan ovanför uttrycksrutan för att verifiera uttrycket och X-knappen ovanför uttrycksrutan för att återställa ändringar.

    Skärmbild av fönstret Hantera roller som markerar ett exempel på DAX-uttryck.

    Kommentar

    Du kan använda username() i det här uttrycket. Tänk på att username() har formatet DOMAIN\username i Power BI Desktop. I usluga Power BI och Power BI server za izveštaje är det i formatet för användarens användarhuvudnamn (UPN). Du kan också använda userprincipalname(), som alltid returnerar användaren i formatet för användarens huvudnamn, username@contoso.com. I den här uttrycksrutan använder du dessutom kommatecken för att separera DAX-funktionsargument även om du använder ett språk som normalt använder semikolonavgränsare (t.ex. franska eller tyska).

  8. Du kan växla tillbaka till standardredigeraren genom att välja Växla till standardredigeraren. Alla ändringar som görs i något av redigeringsgränssnitten sparas när du byter gränssnitt när det är möjligt. När du definierar en roll med hjälp av DAX-redigeraren som inte kan definieras i standardredigeraren, uppmanas du om du försöker växla till standardredigeraren med en varning om att växlande redigerare kan leda till att viss information går förlorad. Om du vill behålla den här informationen väljer du Avbryt och fortsätter endast att redigera den här rollen i DAX-redigeraren.

    Skärmbild av dialogrutan som bekräftar att du vill växla till standardredigeraren.

    Kommentar

    I den här uttrycksrutan använder du kommatecken för att separera DAX-funktionsargument även om du använder ett språk som normalt använder semikolonavgränsare (t.ex. franska eller tyska).

  9. Välj Spara.

Du kan inte tilldela användare till en roll i Power BI Desktop. Du tilldelar dem i usluga Power BI. Du kan aktivera dynamisk säkerhet i Power BI Desktop genom att använda DAX-funktionerna username() eller userprincipalname() och ha rätt relationer konfigurerade.

Som standard använder säkerhetsfiltrering på radnivå enkelriktade filter, oavsett om relationerna är inställda på enkel riktning eller dubbelriktad. Du kan aktivera dubbelriktad korsfiltrering manuellt med säkerhet på radnivå genom att markera relationen och markera kryssrutan Tillämpa säkerhetsfilter i båda riktningarna . Observera att om en tabell deltar i flera dubbelriktade relationer kan du bara välja det här alternativet för en av dessa relationer. Välj det här alternativet när du också har implementerat dynamisk säkerhet på radnivå på servernivå, där säkerhet på radnivå baseras på användarnamn eller inloggnings-ID.

Mer information finns i Dubbelriktad korsfiltrering med DirectQuery i Power BI och den tekniska artikeln Skydda tabell-BI-semantikmodellen .

Skärmbild av modellrelationsinställningen för att tillämpa säkerhetsfilter i båda riktningarna.

Hantera säkerhet på din modell

Om du vill hantera säkerheten för din semantiska modell öppnar du arbetsytan där du sparade din semantiska modell i Infrastruktur och utför följande steg:

  1. I Infrastruktur väljer du menyn Fler alternativ för en semantisk modell. Den här menyn visas när du hovrar på ett semantiskt modellnamn.

    Skärmbild som visar menyn Fler alternativ i navigeringsmenyn.

  2. Välj Säkerhet.

    Skärmbild som visar menyn Fler alternativ med Säkerhet valt.

Säkerhet tar dig till sidan Säkerhet på rollnivå där du lägger till medlemmar i en roll som du har skapat. Deltagare (och högre arbetsyteroller) ser Säkerhet och kan tilldela användare till en roll.

Arbeta med medlemmar

Lägg till medlemmar

I usluga Power BI kan du lägga till en medlem i rollen genom att skriva in e-postadressen eller namnet på användaren eller säkerhetsgruppen. Du kan inte lägga till grupper som skapats i Power BI. Du kan lägga till medlemmar utanför organisationen.

Du kan använda följande grupper för att konfigurera säkerhet på radnivå.

Observera att Microsoft 365-grupper inte stöds och inte kan läggas till i några roller.

Skärmbild som visar hur du lägger till en medlem.

Du kan också se hur många medlemmar som är en del av rollen med talet inom parenteser bredvid rollnamnet eller bredvid Medlemmar.

Skärmbild som visar medlemmar i rollen.

Ta bort medlemmar

Du kan ta bort medlemmar genom att välja X bredvid deras namn.

Skärmbild som visar hur du tar bort en medlem.

Verifiera rollen inom usluga Power BI

Du kan kontrollera att den roll som du definierade fungerar korrekt i usluga Power BI genom att testa rollen.

  1. Välj Fler alternativ (...) bredvid rollen.
  2. Välj Testa som roll.

Skärmbild av alternativet Testa som roll.

Du omdirigeras till rapporten som publicerades från Power BI Desktop med den här semantiska modellen om den finns. Instrumentpaneler är inte tillgängliga för testning med alternativet Testa som roll .

I sidhuvudet visas den roll som tillämpas. Testa andra roller, en kombination av roller eller en specifik person genom att välja Visa som nu. Här ser du viktig behörighetsinformation som rör den person eller roll som testas. Mer information om hur behörigheter interagerar med RLS finns i RLS-användarupplevelsen.

Skärmbild av Nu visas som listruta för en specifik person.

Testa andra rapporter som är anslutna till den semantiska modellen genom att välja Visa i sidhuvudet. Du kan bara testa rapporter som finns på samma arbetsyta som din semantiska modell.

Skärmbild av Visa för att välja en annan rapport att testa.

Om du vill återgå till normal visning väljer du Tillbaka till säkerhet på radnivå.

Kommentar

Funktionen Testa som roll fungerar inte för DirectQuery-modeller med enkel inloggning (SSO) aktiverat. Dessutom kan inte alla aspekter av en rapport verifieras i funktionen Testa som roll, inklusive Q&A-visualiseringar, Quick Insights-visualiseringar och Copilot.

Använda dax-funktionen username() eller userprincipalname()

Du kan dra nytta av DAX-funktionerna username() eller userprincipalname() i din datauppsättning. Du kan använda dem i uttryck i Power BI Desktop. När du publicerar din modell används den inom usluga Power BI.

I Power BI Desktop returnerar username() en användare i formatet DOMAIN\User och userprincipalname() returnerar en användare i formatet user@contoso.com.

Inom usluga Power BI returnerar både username() och userprincipalname() användarens huvudnamn (UPN). Detta ser ut ungefär som en e-postadress.

Använda RLS med arbetsytor i Power BI

Om du publicerar din Power BI Desktop-rapport på en arbetsyta i usluga Power BI tillämpas RLS-rollerna på medlemmar som har tilldelats rollen Visningsprogram på arbetsytan. Även om Tittarna får build-behörigheter för den semantiska modellen gäller RLS fortfarande. Om användare med build-behörigheter till exempel använder Analysera i Excel begränsas deras vy av data av RLS. Arbetsytemedlemmar som tilldelats administratör, medlem eller deltagare har redigeringsbehörighet för den semantiska modellen och därför gäller inte RLS för dem. Om du vill att RLS ska gälla för personer på en arbetsyta kan du bara tilldela dem rollen Läsare . Läs mer om roller i arbetsytor.

Beaktanden och begränsningar

Du kan se de aktuella begränsningarna för säkerhet på radnivå på molnmodeller här:

  • Om du tidigare har definierat roller och regler i usluga Power BI måste du återskapa dem i Power BI Desktop.
  • Du kan bara definiera RLS på de semantiska modeller som skapats med Power BI Desktop. Om du vill aktivera RLS för semantiska modeller som skapats med Excel måste du konvertera filerna till Power BI Desktop-filer (PBIX) först. Läs mer.
  • Tjänstens huvudnamn kan inte läggas till i en RLS-roll. Därför tillämpas inte RLS för appar som använder tjänstens huvudnamn som den slutgiltiga effektiva identiteten.
  • Endast Import- och DirectQuery-anslutningar stöds. Liveanslutningar till Analysis Services hanteras i den lokala modellen.
  • Funktionen Testa som roll/Visa som roll fungerar inte för DirectQuery-modeller med enkel inloggning (SSO) aktiverat.
  • Funktionen Testa som roll/vy som roll visar endast rapporter från arbetsytan semantiska modeller.
  • Funktionen Testa som roll/Visa som roll fungerar inte för sidnumrerade rapporter.

Tänk på att om en Power BI-rapport refererar till en rad med RLS konfigurerat visas samma meddelande som för ett borttaget eller icke-befintligt fält. För dessa användare ser det ut som att rapporten är bruten.

Vanliga frågor

Fråga: Vad händer om jag tidigare har skapat roller och regler för en datauppsättning i usluga Power BI? Fungerar de fortfarande om jag inte gör något?
Svar: Nej, visuella objekt återges inte korrekt. Du måste återskapa rollerna och reglerna i Power BI Desktop och sedan publicera till usluga Power BI.

Fråga: Kan jag skapa dessa roller för Analysis Services-datakällor?
Svar: Ja, om du har importerat data till Power BI Desktop. Om du använder en live-anslutning kan du inte konfigurera RLS i usluga Power BI. Du definierar RLS i Analysis Services-modellen lokalt.

Fråga: Kan jag använda RLS för att begränsa vilka kolumner eller mått som mina användare kan komma åt?
Svar: Nej, om en användare har åtkomst till en viss rad med data kan de se alla datakolumner för den raden. Om du vill begränsa åtkomsten till kolumner och kolumnmetadata bör du överväga att använda säkerhet på objektnivå.

Fråga: Låter RLS mig dölja detaljerade data men ge åtkomst till data som sammanfattas i visuella objekt?
Svar: Nej, du skyddar enskilda rader med data, men användarna kan alltid se information eller sammanfattade data.

Fråga: Min datakälla har redan säkerhetsroller definierade (till exempel SQL Server-roller eller SAP BW-roller). Vad är relationen mellan de här rollerna och RLS?
Svar: Svaret beror på om du importerar data eller använder DirectQuery. Om du importerar data till din Power BI-datauppsättning används inte säkerhetsrollerna i datakällan. I det här fallet bör du definiera RLS för att framtvinga säkerhetsregler för användare som ansluter i Power BI. Om du använder DirectQuery används säkerhetsrollerna i datakällan. När en användare öppnar en rapport skickar Power BI en fråga till den underliggande datakällan, som tillämpar säkerhetsregler på data baserat på användarens autentiseringsuppgifter.

Fråga: Kan en användare tillhöra mer än en roll?
Svar: En användare kan tillhöra flera roller och rollerna är additiva. Om en användare till exempel tillhör rollerna "Försäljning" och "Marknadsföring" kan de se data för båda dessa roller.

Frågor? Prova att fråga Power BI Community-förslag ? Bidra med idéer för att förbättra Power BI