Zo deel en beveilig je data in Power BI

In de voorgaande blogs hebben we stap voor stap het maken van een Power BI rapportages doorlopen. De laatste stap is het delen van de rapportages met collega’s. Daarbij wil je controle houden op wie het rapport kan aanpassen én ervoor zorgen dat collega’s alleen de data zien die voor hen bestemd is. Kortom: je wilt je actuele data per gebruiker en/of rol beschikbaar stellen. Daar zullen we het in deze blog over hebben.

Met de standaard Power BI versie sla je ontsloten data, model en rapportages op als bestand en kun je deze eventueel printen of exporteren naar PDF of Excel. Via e-mail of filesharing kun je dit bestand ook delen. Echter, na iedere wijziging die je maakt zal jet het rapport weer handmatig moeten verspreiden. Gelukkig is er een slimmere methode: Power BI rapportages online te publiceren met de Publish knop.

Power BI Workspaces

Als Power BI gebruiker krijg je een eigen werkruimte op PowerBI.com, een zogeheten workspace. Hier kun je je eigen rapportages naartoe publiceren, bekijken in de browser, met filters analyseren en aanpassen. Deel je de rapportage met collega’s, dan zien zij het rapport, mits ze over de juiste autorisatie beschikken, ook in hun workspace. Willen ze de rapportage bijwerken met nieuwe data, dan hebben zij ook toegang nodig tot de databronnen. Omdat niet iedereen toegang heeft c.q. mag hebben tot rapportages, specifieke data of bronsystemen waaruit de data ontsloten wordt, raden we aan dat een beperkt aantal mensen de Power BI rapportages beheert.

Rapportages op gebruikersniveau autoriseren

Op PowerBI.com kun je meerdere workspaces definiëren en gebruikers hieraan koppelen met verschillende rechten: Weergeven en Aanpassen. Wanneer je een rapportage publiceert, kies je de workspace waarin de rapportage beschikbaar moet komen, en daarmee dus voor welke gebruikers. Je kunt bijvoorbeeld een workspace aanmaken voor het management team of de accountmanagers.

Het definiëren van werkruimtes:

  1. Hier staan alle beschikbare werkruimtes.
  2. Bewerk de naam en privacy per werkruimte.
  3. Voeg e-mailadressen van leden toe aan de werkruimte.

Voor het werken met andere workspaces dan de standaard privé workspace en het kunnen delen van rapportages heb je de uitgebreidere versie van Power BI nodig: Power BI Pro.

Met een licentie voor Power BI Pro koppel je als het ware de gebruikersstructuur van Office 365 aan Power BI. Zo kun je gemakkelijk de verschillende gebruikers(groepen*) in de organisatie selecteren voor publicatie. Iedere gebruiker behoort tot een rol of categorie, zoals verkoper of verkoopmanager. Door het publiceren van Power BI rapportages naar werkruimten kun je per werkruimte en dus per categorie de toegang voor specifieke gebruikers(groepen) tot je rapportage instellen. Daarnaast biedt Power BI Pro o.a. ook een hogere frequentie voor automatische vernieuwing van de data in je rapportages.

* Behalve gebruikers (email adressen) kunnen ook gebruikersgroepen (Active Directory, gedefinieerde
netwerkgroepen, ADFS) aan werkruimten worden gekoppeld. Vereiste hiervoor is wel dat de
gebruikersgroep een e-mailadres heeft.

Data afschermen op rolniveau: Row Level Security

Wanneer je niet wilt dat medewerkers elkaars data zien, bijvoorbeeld bij verkoopomzetten, dan kun je verschillende rapportages maken en delen via workspaces. Maar heb je bijvoorbeeld twaalf vestigingen of dertig vertegenwoordigers met ieder een eigen setje rapportages, en wil je de rapportage aanpassen, dan moet je diezelfde aanpassing twaalf of dertig keer doen. Efficiënter is het om één rapport te maken waarin je de data per rol of specifieke gebruiker beschikbaar maakt, zodat iedere gebruiker op één en dezelfde rapportage toch alleen maar de eigen – alléén voor hem of haar toegankelijke – data gepresenteerd krijgt. Dat is precies wat Row Level Security (RLS, beveiliging op rijniveau) doet.

In de rapportage omzetgegevens klanten mag jij in de rol als accountmanager bijvoorbeeld alleen de omzet zien van jouw klanten. Met RLS in Power BI Desktop voeg je hiertoe bij de gedefinieerde rol “Accountmanager” een filter toe in de tabel met gegevens van accountmanagers. Een regiomanager bijvoorbeeld mag omzetgegevens zien van alle accountmanagers van een specifieke regio. Hiertoe kan in Power BI Desktop een rol “Regiomanager” worden gedefinieerd met een filter op bijvoorbeeld een tabel met regiogegevens, waarin voor elke regio de naam van de regiomanager is vastgelegd. Tussen de tabellen met gegevens van accountmanagers en regio’s kan bijvoorbeeld op basis van de regio een relatie worden gelegd. Zo bepaal je per rol welke data beschikbaar is: een accountmanager ziet alleen data van zijn klanten en een regiomanager de data van zijn accountmanagers.

Eerst definieer je de rol (1), vervolgens kies je hierbij de tabel(len) (2) en daarna maak je per geselecteerde tabel de formule (3) op basis waarvan de data gefilterd moet worden.

Statische en dynamische row level security
Het autoriseren van data naar Power BI gebruikers toe kan zowel statisch als dynamisch worden ingesteld.

Er is sprake van Statische RLS wanneer er bijvoorbeeld per regio een rol gedefinieerd wordt, er voor elke rol een filter op de tabel met regio’s wordt gemaakt die specifiek voor die rol geldt en tenslotte worden specifieke gebruikers toegekend aan een specifieke rol.

Een voorbeeld van Statische RLS:

  • Er zijn 3 regio’s: Noord, Midden en Zuid. Iedere verkoper opereert in één specifieke regio. Elke klant behoort aan de hand van het vestigingsadres ook tot één specifieke regio.
  • Door per regio een rol (Noord, Midden, Zuid, dus 3 rollen) te definiëren, in de tabel met regio’s per rol het juiste filter in te stellen (Regio = Noord / Midden / Zuid, elke rol een specifiek filter), de regio–tabel te relateren aan de tabel met klantgegevens en aan de tabel met gegevens van verkopers, de klantentabel te koppelen aan de tabel met verkooptransacties, èn tenslotte nog de juiste medewerkers aan de juiste rol toe te kennen, is het mogelijk om per medewerker aan de hand van de rol alléén de relevante data te presenteren. Het statische van deze oplossing is dat rollen, filters en medewerkers goed onderhouden moeten worden. Komt er een regio bij of wijzigt de regio–indeling, dan moet dit ook in Power BI worden aangepast. Ook moeten medewerkersmutaties (bijv. iemand die van regio verandert of die de organisatie verlaat) in Power BI up to date worden gehouden.

Dynamische RLS gaat een stapje verder: hierbij volstaat het om met slechts één rol te werken, aan die rol gebruikers toe te kennen en in het filter van de rol te verwijzen naar de huidige gebruikersnaam,  al dan niet in combinatie met andere kenmerken voor de huidige gebruiker. Een gebruiker met als kenmerk dat hij of zij een management functie heeft, kan zo via de rol meer data te zien krijgen dan iemand met dezelfde rol die geen managementfunctie heeft. De data moet dan wel op de een of andere manier zijn voorzien van een kenmerk of de data alléén beschikbaar is voor managers of ook voor anderen.

Een ander voorbeeld is een tabel met medewerkers waarin met een specifiek veld wordt aangegeven welke (andere) medewerker (in dezelfde tabel) de manager van de medewerker is. Met behulp van DAX functies in Power BI (DAX is de formuletaal die o.a. in Power BI wordt gebruikt) is het mogelijk om, afhankelijk van wie de huidige aangemelde gebruiker in Power BI is, bijvoorbeeld alleen data voor de eigen medewerkers te tonen, in overeenstemming met de organisatiestructuur. Wijzigingen in de organisatiestructuur, eenmaal weer in Power BI beschikbaar, hebben automatisch ook direct effect op de beschikbare data voor gebruikers.

Houd grip op je data

Power BI heeft legio mogelijkheden voor het samenbrengen en visualiseren van data. Door in je datamodel niet alleen data uit de databronnen te gebruiken, maar ook de gebruikersdata uit de organisatie, kun je hiermee de data op basis van rollen tot op regelniveau autoriseren. Zo houd je grip op de data en breng je zakelijke inzichten op de juiste plek in jouw organisatie.