Beveiliging op rijniveau (RLS) in Power BI Report Server
Het instellen van beveiliging op rijniveau (RLS) met Power BI Report Server kan toegang tot gegevens beperken voor bepaalde gebruikers. Filters beperken de toegang tot gegevens op rijniveau en u kunt filters definiëren in rollen. Als u de standaardmachtigingen in Power BI Report Server gebruikt, kan elke gebruiker met de machtigingen Uitgever of Inhoudsbeheerder voor het Power BI-rapport leden toewijzen aan rollen voor dat rapport.
U configureert RLS voor rapporten die met Power BI Desktop zijn geïmporteerd in Power BI. U kunt RLS ook configureren voor rapporten die gebruikmaken van DirectQuery, zoals SQL Server. Houd er rekening mee dat RLS niet wordt gerespecteerd als de DirectQuery-verbinding gebruikmaakt van geïntegreerde verificatie voor rapportlezers. Voor Analysis Services-liveverbindingen configureert u beveiliging op rijniveau voor het on-premises model. 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.
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.
Op het tabblad Modellering selecteert u Rollen beheren.

Selecteer in het venster Rollen beheren de optie Maken.

Geef onder Rollen een naam op voor de rol.
Selecteer onder Tabellen de tabel waarop u een DAX-regel wilt toepassen.
Voer in het vak DAX-expressie tabelfilter de DAX-expressies in. Deze expressie retourneert de waarde True of False. Bijvoorbeeld:
[Entity ID] = “Value”.
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.
Nadat u de DAX-expressie hebt gemaakt, selecteert u het vinkje boven het expressievak om de expressie te 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).
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.
Kruislings filteren in twee richtingen
Het beveiligingsfilter op rijniveau gebruikt standaard filters in één richting, ongeacht of de relaties zijn ingesteld op één richting of twee richtingen. U kunt kruislings filteren in twee richtingen handmatig inschakelen met beveiliging op rijniveau.
Selecteer de relatie en schakel het selectievakje Beveiligingsfilter in beide richtingen toepassen in.

Schakel dit selectievakje in wanneer u dynamische beveiliging op rijniveau implementeert op basis van gebruikersnaam of aanmeldings-id.
Zie voor meer informatie Kruislings filteren in twee richtingen met DirectQuery in Power BI Desktop en het technisch document Het semantische BI-model in tabelvorm beveiligen.
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.
Selecteer op het tabblad Model maken de optie Weergeven als.

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

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.
U kunt ook Andere gebruiker selecteren en een bepaalde gebruiker opgeven.

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.
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.
Leden toevoegen aan rollen
Nadat u uw rapport hebt opgeslagen in Power BI Report Server, kunt u beveiliging beheren en leden toevoegen of verwijderen op de server. Alleen voor gebruikers met de machtigingen Uitgever of Inhoudsbeheerder voor het rapport is de optie voor beveiliging op rijniveau beschikbaar en wordt deze niet grijs weergegeven.
Als het rapport niet beschikt over de rollen die nodig zijn, opent u het in Power BI Desktop, voegt u rollen toe of wijzigt u ze, en slaat u het vervolgens weer op in Power BI Report Server.
In Power BI Desktop slaat u het rapport op naar Power BI Report Server. U moet de versie van Power BI Desktop gebruiken voor Power BI Report Server.
Selecteer in Power BI Report Server het beletselteken ( ... ) naast het rapport.
Selecteer Beheren > Beveiliging op rijniveau.

Op de pagina Beveiliging op rijniveau voegt u leden toe aan een rol die u hebt gemaakt in Power BI Desktop.
Als u een lid wilt toevoegen, selecteert u Lid toevoegen.
Voer de gebruiker of groep in het tekstvak in met de indeling Gebruikersnaam (DOMEIN\gebruiker) en selecteer de rollen die u eraan wilt toewijzen. Het lid moet zich binnen uw organisatie bevinden.

Afhankelijk van hoe u Active Directory hebt geconfigureerd, kunt u hier ook de User Principal Name invoeren. De rapportserver geeft in dat geval de overeenkomende gebruikersnaam in de lijst weer.
Klik op OK om toe te passen.
Als u leden wilt verwijderen, schakelt u het selectievakje naast de namen in en selecteert u Verwijderen. U kunt meerdere leden tegelijk verwijderen.

username() en userprincipalname()
U kunt gebruikmaken van de DAX-functies username() of userprincipalname() binnen uw gegevensset. U kunt deze gebruiken in expressies in Power BI Desktop. Wanneer u uw model publiceert, gebruikt Power BI Report Server deze.
In Power BI Desktop retourneert de functie username() een gebruiker met de indeling DOMEIN\Gebruiker en retourneert userprincipalname() een gebruiker met de indeling user@contoso.com.
In Power BI Report Server retourneren username() en userprincipalname() beide de UPN (User Principal Name) van de gebruiker, die vergelijkbaar is met een e-mailadres.
Als u aangepaste verificatie gebruikt in Power BI Report Server, wordt de gebruikersnaamindeling geretourneerd die u hebt ingesteld voor gebruikers.
Overwegingen en beperkingen
Dit zijn de huidige beperkingen voor beveiliging op rijniveau in Power BI-modellen.
Gebruikers die rapporten hadden met de DAX-functie username() zien nu nieuw gedrag waar de User Principal Name (UPN) wordt geretourneerd, TENZIJ DirectQuery wordt gebruikt met geïntegreerde beveiliging. Aangezien RLS niet wordt gerespecteerd in dat scenario, is het gedrag in dat scenario niet gewijzigd.
U kunt RLS alleen definiëren in gegevenssets die zijn gemaakt met Power BI Desktop. Om RLS in te schakelen voor gegevenssets die zijn gemaakt met Excel, moet u uw bestanden eerst converteren naar PBIX-bestanden (Power BI Desktop). Meer informatie over Excel-bestanden converteren.
Alleen Extraheren, Transformeren, Laden (ETL) en DirectQuery-verbindingen met behulp van de opgeslagen referenties worden ondersteund. Live-verbindingen met Analysis Services- en DirectQuery-verbindingen via geïntegreerde verificatie worden verwerkt in de onderliggende gegevensbron.
Als u geïntegreerde beveiliging met DirectQuery gebruikt, kunnen uw gebruikers het volgende zien:
- RLS is uitgeschakeld en alle gegevens worden geretourneerd.
- Gebruikers kunnen hun roltoewijzingen niet bijwerken en krijgen een fout op de pagina RLS beheren.
- Voor de DAX-functie username blijft u de gebruikersnaam ontvangen als DOMEIN\GEBRUIKER.
Auteurs van rapporten hebben geen toegang tot de rapportgegevens in Power BI Report Server totdat ze aan zichzelf dienovereenkomstig rollen hebben toegewezen nadat het rapport is geüpload.
Roltoewijzingen via groepslidmaatschap worden alleen ondersteund wanneer de Power BI Report Server is geconfigureerd om te worden uitgevoerd met NTLM- of Kerberos-verificatie. Voor servers met aangepaste verificatie of Windows Basic moeten gebruikers expliciet zijn toegewezen aan rollen.
Veelgestelde vragen
Kan ik deze rollen voor Analysis Services-gegevensbronnen maken?
Dat kan als u de gegevens hebt geïmporteerd in Power BI Desktop. Als u een liveverbinding gebruikt, kunt u RLS niet configureren binnen de Power BI-service. RLS wordt on-premises gedefinieerd in het Analysis Services-model.
Kan ik RLS gebruiken om de kolommen of metingen te beperken die toegankelijk zijn voor mijn gebruikers?
Nee. Als een gebruiker toegang heeft tot een bepaalde gegevensrij, kan deze alle gegevenskolommen voor die rij zien.
Kan ik met RLS gedetailleerde gegevens verbergen maar toegang geven tot samengevatte gegevens in visuele elementen?
Nee, u beveiligt individuele rijen met gegevens maar gebruikers kunnen altijd de details of de samengevatte gegevens zien.
Kan ik nieuwe functies toevoegen in Power BI Desktop als ik al bestaande rollen en leden heb toegewezen?
Ja, als u al bestaande rollen hebt gedefinieerd en leden hebt toegewezen in Power BI Report Server, kunt u aanvullende rollen maken en uw rapport opnieuw publiceren zonder dat dit invloed heeft op uw huidige toewijzingen.
Volgende stappen
Wat is Power BI Report Server? Handboek voor beheerders
Hebt u nog vragen? Misschien dat de Power BI-community het antwoord weet