Hoe gebruik je row-level security in Power BI om data te scheiden voor gebruikers?

Blog

Wanneer je binnen een organisatie met gevoelige data werkt, wil je dit op de juiste wijze toegankelijk maken voor de gebruikers. Enkel de data die van toepassing is voor een bepaalde functie binnen de organisatie dient inzichtelijk te zijn voor de gebruiker. Row-level security helpt jouw organisatie om data te scheiden en waar nodig te verbergen voor gebruikers die hier geen toegang tot dienen te hebben. Hoe je dit inricht voor jouw Power BI-rapportages? Dat leg ik verder uit in deze blog.

Row-level security beperkt de data die zichtbaar is voor een persoon die is toegekend aan een gecreëerde rol. Binnen Power BI Desktop kunnen rollen aangemaakt worden. Hierbinnen kan de row-level security gedefinieerd worden. Een gebruiker met leesrechten, met deze rol toegekend, wordt op de PowerBI rapporten hierdoor beperkt in de data die hij/zij mag inzien. Beheerders worden niet beperkt door row-level security en kunnen te allen tijde alle data inzien.
 

Hoe werkt het?

Als voorbeeld casus nemen we Bedrijf X. Bedrijf X heeft klanten verdeeld over verschillende landen in Europa. Klantdata wordt inzichtelijk gemaakt met behulp van Power BI. Bedrijf X heeft een aparte afdeling voor klanten uit de Benelux. Medewerkers van deze afdeling mogen alleen de data inzien van de klanten die zij beheren.

Het originele rapport ziet er als volgt uit:

Originele Power BI rapport


 

Uit dit rapport is op te maken dat er op het moment klanten zijn uit 6 verschillende landen. Voor de afdeling Benelux dient dit beperkt te worden tot de data van Nederland, België en Luxemburg.

Door een rol te creëren en hier row-level security aan toe te voegen, kunnen we binnen hetzelfde rapport een scheiding maken van alle data en data voor de afdeling Benelux. Het aanmaken en beheren van de rollen wordt binnen Power BI Desktop geregeld.

 

Rollen beheren binnen Power BI Desktop

 

Met behulp van de optie “Manage roles” kunnen rollen gecreëerd en aangepast worden. Het aanmaken van deze rollen is noodzakelijk aangezien de row-level security aan een rol gekoppeld is. 
Voor de rol “Benelux” gaan we definiëren welke data ingezien mag worden. Aan de hand van een DAX-expressie wordt in onderstaande afbeelding gedefinieerd dat enkel de data die verbonden is aan de waardes “Netherlands”, “Belgium” en “Luxembourg” te zien mag zijn binnen het rapport. Deze waardes komen uit de datatabel “Customer”, uit de kolom “Country”.

Row-level security definiëren m.b.v. een DAX-expressie

 

Rollen toekennen


Het toekennen van een rol gebeurt vanuit de Power BI-service. Dit vereist dat het Power BI-rapport is opgeslagen en gepubliceerd is naar een Workspace binnen de Power BI-service. Een Microsoft E5 licentie of een Power BI Pro licentie is vereist voor het publiceren van een Power BI-rapport naar een Workspace.

Binnen deze Workspace kan je op de dataset de beveiliging aanpassen (zie afbeelding hieronder). Hier kan je medewerkers toekennen aan een rol die zojuist aangemaakt is binnen Power BI Desktop.

Rollen beheren binnen de Power BI-service

 

Medewerkers toekennen aan een rol

 

In bovenstaande afbeelding zijn 3 medewerkers van de afdeling Benelux toegevoegd aan de Benelux-rol. Als deze medewerkers ook leesrechten hebben op het Power BI-rapport zullen ze het rapport als volgt zien:

 

Power BI-rapport met de rol Benelux actief

 

In bovenstaande afbeelding is goed te zien dat enkel de data van de klanten uit de Benelux getoond worden en gebruikt worden in alle visualisaties. Medewerkers met leesrechten op het rapport die niet toegevoegd zijn aan de Benelux-rol, zullen het originele rapport zien.

In deze fictieve casus is gewerkt met slechts 1 tabel binnen het datamodel. Belangrijk om te weten is dat, zodra er met meerdere tabellen gewerkt wordt in het datamodel, de onderlinge relaties cruciaal zijn om row-level security effectief te laten werken.
 

Wil je meer weten over deze functionaliteit? Neem dan gerust contact met ons op, zodat we de mogelijkheden kunnen bespreken.

Ramon
Auteur Ramon Consultant

Heb je vragen over dit onderwerp of zou je Ramon willen inhuren voor een vergelijkbare opdracht?

Neem contact met ons op
{description}

Heb je een Power Platform expert nodig?

Neem contact met ons op
{description}

Wil je weten waar wij goed in zijn?

Ontdek onze expertises