Beveiliging op rijniveau (RLS) met Power BI

Beveiliging op rijniveau (RLS) kan in Power BI worden gebruikt om de toegang tot gegevens voor bepaalde gebruikers te beperken. Filters beperken de toegang tot gegevens op rijniveau en u kunt filters definiëren in rollen. In de Power BI-service hebben leden van een werkruimte toegang tot gegevenssets in de werkruimte. Toegang tot deze gegevens wordt niet door Beveiliging op rijniveau beperkt.

U kunt RLS configureren voor gegevensmodellen met Power BI Desktop zijn geïmporteerd in Power BI. U kunt RLS ook configureren voor gegevenssets die gebruikmaken van DirectQuery, zoals SQL Server. Voor liveverbindingen van Analysis Services of Azure Analysis Services configureert u beveiliging op rijniveau in het model, niet in Power BI Desktop. De beveiligingsoptie wordt niet weergegeven voor gegevenssets met een liveverbinding.

Rollen en regels definiëren in Power BI Desktop

U kunt rollen en regels definiëren binnen Power BI Desktop. Wanneer u naar Power BI publiceert, worden ook de roldefinities gepubliceerd.

Volg deze stappen om beveiligingsrollen te definiëren.

  1. Gegevens importeren in uw Power BI Desktop-rapport of een DirectQuery-verbinding configureren.

    Notitie

    U kunt geen rollen binnen Power BI Desktop definiëren voor live verbindingen met Analysis Services. U moet dat doen binnen het Analysis Services-model.

  2. Op het tabblad Modellering selecteert u Rollen beheren.

    Rollen beheren selecteren

  3. Selecteer in het venster Rollen beheren de optie Maken.

    Selecteer Maken

  4. Geef onder Rollen een naam op voor de rol.

  5. Selecteer onder Tabellen de tabel waarop u een DAX-regel wilt toepassen.

  6. Voer in het vak DAX-expressie tabelfilter de DAX-expressies in. Deze expressie retourneert de waarde True of False. Bijvoorbeeld: [Entity ID] = “Value”.

    Venster Rollen beheren

    Notitie

    U kunt username() binnen deze expressie gebruiken. Let op: username() heeft de indeling DOMAIN\username binnen Power BI Desktop. Binnen de Power BI-service en Power BI Report Server heeft deze de indeling van de UPN (User Principal Name) van de gebruiker. U kunt ook userprincipalname() gebruiken, waarmee altijd de gebruiker wordt geretourneerd in de indeling van zijn/haar naam van de principal van gebruiker, username@contoso.com.

  7. Nadat u de DAX-expressie hebt gemaakt, selecteert u het vinkje boven het expressievak om de expressie te valideren.

    DAX-expressie valideren

    Notitie

    In dit expressievak gebruikt u komma's om argumenten van DAX-functies te scheiden, zelfs als u een landinstelling gebruikt die gewoonlijk puntkomma's als scheidingsteken gebruikt (bijvoorbeeld Frans of Duits).

  8. Selecteer Opslaan.

U kunt geen rol toewijzen aan gebruikers binnen Power BI Desktop. U wijst deze toe in de Power BI-service. U kunt dynamische beveiliging inschakelen binnen Power BI Desktop door gebruik te maken van de DAX-functies voor username() of userprincipalname() en het configureren van de juiste relaties.

Het beveiligingsfilter op rijniveau gebruikt standaard filters in één richting, ongeacht of de relaties zijn ingesteld op één richting of twee richtingen. U kunt handmatig kruislings filtering met beveiliging op rijniveau in twee richtingen inschakelen door de relatie te selecteren en het selectievakje Beveiligingsfilter toepassen in beide richtingen in te schakelen. Selecteer deze optie als u ook dynamische beveiliging op rijniveau op serverniveau hebt geïmplementeerd, waarbij beveiliging op rijniveau op de gebruikersnaam of aanmeldings-id is gebaseerd.

Zie voor meer informatie Kruisfiltering in twee richtingen met DirectQuery in Power BI Desktop en het technische artikel Het semantische BI-model in tabelvorm beveiligen.

Beveiligingsfilter toepassen

De rollen in Power BI Desktop valideren

Nadat u uw rollen hebt gemaakt, kunt u de resultaten van de rollen testen binnen Power BI Desktop.

  1. Selecteer op het tabblad Model maken de optie Weergeven als.

    Als rollen weergeven selecteren

    In het venster Als rollen weergeven dat wordt weergegeven, kunt u de rollen zien die u hebt gemaakt.

    Venster Als rollen weergeven

  2. Selecteer een rol die u hebt gemaakt en selecteer OK om die rol toe te passen.

    De rapporten geven de gegevens weer die relevant zijn voor die rol.

  3. U kunt ook Andere gebruiker selecteren en een bepaalde gebruiker opgeven.

    Andere gebruiker selecteren

    U kunt het beste de User Principal Name (UPN) opgeven, omdat die door de Power BI-service Power BI Report Server wordt gebruikt.

    Binnen Power BI Desktop geeft Andere gebruiker alleen verschillende resultaten weer wanneer u dynamische beveiliging gebruikt op basis van uw DAX-expressies.

  4. Selecteer OK.

    Het rapport wordt weergegeven op basis van wat de gebruiker kan zien.

    Notitie

    De functie Weergeven als rol werkt niet voor DirectQuery-modellen met Single Sign-On (SSO) ingeschakeld.

Nu u klaar bent met het valideren van de rollen in Power BI Desktop, kunt u uw rapport publiceren naar Power BI service.

De beveiliging voor uw model beheren

Als u de beveiliging van uw gegevensmodel wilt beheren, opent u de werkruimte waarin u het rapport hebt opgeslagen in Power BI service en gaat u als volgt te werk:

  1. Selecteer in de Power BI-service het menu Meer opties voor een gegevensset. Dit menu wordt weer gegeven wanneer u de muisaanwijzer op de naam van een gegevensset plaatst, ongeacht of u deze selecteert in het navigatiemenu of de werkruimtepagina.

    Menu Meer opties in de werkruimte

    Menu Meer opties in het navigatiemenu

  2. Selecteer Beveiliging.

    Beveiliging selecteren in het menu Meer opties

Met Beveiliging gaat u naar Role-Level pagina Beveiliging, waar u leden toevoegt aan een rol die u hebt gemaakt in Power BI Desktop. Alleen de eigenaren van de gegevensset zien Beveiliging. Als de gegevensset zich in een groep bevindt, zien alleen beheerders van de groep de beveiligingsoptie.

U kunt alleen rollen maken of wijzigen in Power BI Desktop.

Werken met leden

Leden toevoegen

In de Power BI service kunt u een lid toevoegen aan de rol door het e-mailadres of de naam van de gebruiker of beveiligingsgroep in te typen. U kunt geen groepen toevoegen die in Power BI zijn gemaakt. U kunt leden buiten uw organisatie toevoegen.

U kunt de volgende groepen gebruiken om beveiliging op rijniveau in te stellen.

  • Distributiegroep
  • E-mailgroep
  • Beveiligingsgroep

Houd er echter rekening mee Office 365 groepen niet worden ondersteund en niet kunnen worden toegevoegd aan rollen.

Lid toevoegen

Aan het getal tussen haakjes naast de rolnaam of naast Leden kunt u zien hoeveel leden deel uitmaken van de rol.

Leden met de rol

Leden verwijderen

U kunt leden verwijderen door de X naast hun naam te selecteren.

Lid verwijderen

De rol in de Power BI-service valideren

U kunt controleren of de rol die u hebt gedefinieerd, correct werkt in Power BI service door de rol te testen.

  1. Selecteer Meer opties (...) naast de rol.
  2. Selecteer Gegevens testen als rol.

Testen als rol

U krijgt rapporten te zien die voor deze rol beschikbaar zijn. Dashboards worden in deze weergave niet weergegeven. In de paginakoptekst wordt de toegepaste rol weergegeven.

Wordt nu weergegeven als

U kunt andere rollen of een combinatie van rollen testen door Nu weergeven als te selecteren.

Overige rollen testen

U kunt ervoor kiezen om de gegevens weer te geven als een specifiek persoon, maar u kunt ook een combinatie van beschikbare rollen selecteren om te valideren of ze werken.

Als u de normale weergave wilt herstellen, selecteert u Terug naar beveiliging op rijniveau.

Notitie

De functie Testen als rol werkt niet voor DirectQuery-modellen met Single Sign-On (SSO) ingeschakeld.

De DAX-functie username() of userprincipalname() gebruiken

U kunt profiteren van de DAX-functies username() of userprincipalname() in uw gegevensset. U kunt deze gebruiken in expressies in Power BI Desktop. Wanneer u uw model publiceert, worden deze functies gebruikt in de Power BI-service.

In Power BI Desktop retourneert de functie username() een gebruiker met de indeling DOMEIN\gebruiker en retourneert de functie userprincipalname() een gebruiker met de indeling user@contoso.com.

In de Power BI-service retourneren zowel username() als userprincipalname() de UPN (User Principal Name) van de gebruiker. Dit lijkt op een e-mailadres.

RLS met werkruimten gebruiken in Power BI

Als u uw Power BI Desktop-rapport publiceert naar een nieuwe werkruimte-ervaring in de Power BI-service, worden de RLS-rollen toegepast op leden die zijn toegewezen aan de rol Kijker in de werkruimte. Zelfs als viewers buildmachtigingen krijgen voor de gegevensset, is RLS nog steeds van toepassing. Als viewers met buildmachtigingen bijvoorbeeld Analyseren inExcel, wordt hun weergave van de gegevens beveiligd door RLS. Werkruimteleden aan wie beheerders, leden of inzenders zijn toegewezen, hebben een bewerkingsmachtiging voor de gegevensset en daarom is RLS niet op deze leden van toepassing. Als u RLS wilt toepassen op personen in een werkruimte, kunt u hen alleen de rol Kijker toewijzen. Lees hier meer over rollen in de nieuwe werkruimten.

Waarschuwing

Als u een klassieke werkruimte hebt geconfigureerd zodat leden bewerkingsmachtigingen hebben, worden de RLS-rollen niet op hen toegepast. Gebruikers kunnen alle gegevens zien. Meer informatie over klassieke werkruimten.

Groepsinstellingen

Overwegingen en beperkingen

De huidige beperkingen voor beveiliging op rijniveau voor cloudmodellen zijn als volgt:

  • Als u eerder rollen en regels hebt gedefinieerd in de Power BI-service, moet u deze opnieuw maken in Power BI Desktop.
  • U kunt RLS alleen definiëren in gegevenssets die zijn gemaakt met Power BI Desktop. Als u RLS wilt inschakelen voor gegevenssets die zijn gemaakt met Excel, moet u uw bestanden eerst naar PBIX-bestanden (Power BI Desktop) converteren. Meer informatie.
  • Service-principals kunnen niet worden toegevoegd aan een RLS-rol. Daarom wordt RLS niet toegepast voor apps die gebruikmaken van een service-principal als uiteindelijke effectieve identiteit.
  • Alleen Import- en DirectQuery-verbindingen worden ondersteund. Live verbindingen met Analysis Services worden afgehandeld in het on-premises model.
  • De functie Testen als rol/Als rol weergeven werkt niet voor DirectQuery-modellen met Single Sign-On (SSO) ingeschakeld.

Bekende problemen

Er is een bekend probleem waarbij u een foutbericht krijgt als u probeert een eerder gepubliceerd rapport te publiceren vanuit Power BI Desktop. Het scenario is als volgt:

  1. Anna heeft een gegevensset die is gepubliceerd naar de Power BI-service en heeft RLS geconfigureerd.

  2. Anna werkt het rapport bij in Power BI Desktop en publiceert het opnieuw.

  3. Anna krijgt een foutmelding.

Tijdelijke oplossing: Het Power BI Desktop opnieuw publiceren vanuit de Power BI service totdat dit probleem is opgelost. U kunt dit doen door Gegevensbestanden downloaden te > selecteren.

Veelgestelde vragen

Vraag: Wat als ik eerder rollen en regels hebt gemaakt voor een gegevensset in de Power BI-service? Blijven ze gewoon werken als ik niets doe?
Antwoord: Nee, visuals worden niet goed weergegeven. U moet de rollen en regels opnieuw maken binnen Power BI Desktop en deze publiceren naar de Power BI-service.

Vraag: Kan ik deze rollen voor Analysis Services gegevensbronnen maken?
Antwoord: Dat kan als u de gegevens hebt geïmporteerd in Power BI Desktop. Als u een live verbinding gebruikt, kunt u RLS niet configureren binnen de Power BI-service. Dit wordt gedefinieerd in het Analysis Services-model on-premises.

Vraag: Kan ik RLS gebruiken om de kolommen of metingen te beperken die toegankelijk zijn voor mijn gebruikers?
Antwoord: Nee, als een gebruiker toegang heeft tot een bepaalde rij met gegevens, kan deze alle kolommen met gegevens voor die rij zien.

Vraag: Kan ik met RLS gedetailleerde gegevens verbergen maar toegang geven tot samengevatte gegevens in visuele elementen?
Antwoord: Nee, u beveiligt individuele rijen met gegevens maar gebruiker kunnen altijd de details of de samengevatte gegevens zien.

Vraag: In mijn gegevensbron zijn al beveiligingsrollen gedefinieerd (bijvoorbeeld SQL Server of SAP BW rollen). Wat is de relatie tussen de beveiligingsrollen en beveiliging op rijniveau?
Antwoord: Het antwoord is afhankelijk van of u gegevens importeert of DirectQuery gebruikt. Als u gegevens importeert in uw Power BI-gegevensset, worden de beveiligingsrollen in uw gegevensbron niet gebruikt. In dat geval moet u beveiliging op rijniveau instellen om beveiligingsregels af te dwingen voor gebruikers die verbinding maken in Power BI. Als u DirectQuery gebruikt, worden de beveiligingsrollen in uw gegevensbron gebruikt. Wanneer een gebruiker een rapport opent, verzendt Power BI een query naar de onderliggende gegevensbron waarmee beveiligingsregels worden toegepast op de gegevens op basis van de inloggegevens van de gebruiker.

Volgende stappen