Data Governance in Qlik Sense
Bij de implementatie van een modern Business Intelligence (BI) platform speelt Data Governance een belangrijke rol. Met Data Governance bedoelen we de verzameling processen, regels en richtlijnen die ervoor moeten zorgen dat de informatie in het BI systeem betrouwbaar en traceerbaar is en dat de beveiliging van de informatie adequaat is ingericht. Data Governance kan verschillende doelen dienen;
- De wens om de datakwaliteit te verbeteren
- Het voldoen aan wet –en regelgeving
- Optimaliseren van de bedrijfsvoering na een fusie of overname
Het Qlik Sense platform biedt een aantal voorzieningen waarmee een goede governance structuur kan worden ingericht. Voor de configuratie en het auditen van de governance structuur moet de Qlik Management Console (QMC) gebruikt worden. De QMC is de webinterface voor systeembeheerders, waarmee toegang tot informatie in Qlik Sense kan worden beheerd.
Security Rules
Qlik Sense kent een zogenaamd Attribute Based Access Control framework (ABAC), waarmee autorisaties worden toegekend aan gebruikers. De autorisaties worden in de QMC geconfigureerd door het aanmaken van zogenaamde Security Rules. In een security rule worden drie aspecten ingesteld;
- Resource (stream, app, sheet, data connection, extension)
- Action (read, update, publish, delete)
- Condition (onder welke condities is de security rule geldig)
Een security rule geeft een gebruiker in de Hub of de QMC de mogelijkheid om een actie op een resource uit te voeren onder een of meerdere condities. De condities van een security rule bepalen of de toegang tot de resource wordt geaccepteerd, of geweigerd.
Condities kunnen gebaseerd worden op basis van rollen, attributen en omgevingsvariabelen. De gebruikersrollen kunnen in Qlik Sense aangemaakt worden. De attributen van gebruikers kunnen groepen zijn die bijvoorbeeld uit Active Directory geïmporteerd worden. Het is ook mogelijk in Qlik Sense custom properties bij een gebruiker te registreren en deze te gebruiken in security rules. Optioneel kunnen omgevingsvariabelen gespecificeerd worden in de condities. Deze variabelen bieden informatie over de locatie van de gebruiker (IP-adres) en het type apparaat waarmee een gebruiker toegang tot Qlik Sense probeert te krijgen. Dit biedt bijvoorbeeld de mogelijkheid om de toegang tot bedrijfskritische informatie te beperken voor een gebruiker die niet op het bedrijfsnetwerk is aangemeld, terwijl dezelfde gebruiker op kantoor wel toegang heeft tot de informatie.
Resources
De resources in Qlik Sense beperken zich niet tot content, zoals apps, sheets en stories. Ook extensions zijn resources. Dit zijn maatwerk objecten (zoals grafieken), die zijn ontwikkeld met de API’s van Qlik Sense. Een resource kan ook een dataconnectie zijn, zoals een database, of een folder met QVD bestanden. Naast de eigenschappen van de dataconnecties kan ook de toegang tot de data op centraal niveau worden beheerd in de QMC. De security rules op een dataconnectie bepalen welke gebruikers de data kunnen inlezen.
Auditing
Om te toetsen of de ingestelde regels voor data governance de gewenste uitwerking hebben in de praktijk heeft Qlik Sense de Audit tool. Deze tool is onderdeel van de QMC en biedt de mogelijkheid om te verifiëren of de security rules de richtlijnen van de organisatie volgen. Met een audit query kunnen de toegangsrechten bekeken worden vanuit het oogpunt van een gebruiker of een resource. Naast het opvragen van audit queries is er de mogelijkheid om een audit preview te doen op een gewijzigde security rule. Zo kun je vaststellen of de wijziging de gewenste uitwerking heeft, voordat deze effectief wordt. Lees hier meer over audit queries in Qlik Sense.
Data Lineage
Ondanks de uitgebreide functionaliteit in Qlik Sense met betrekking tot data governance, zien we in de praktijk dat ontwikkelaars en IT managers het overzicht kunnen verliezen naarmate de adoptie van Qlik Sense toeneemt (en daardoor het aantal gebruikers en apps). Met name de datalogistiek kan behoorlijk complex worden indien er met een 3-tier of 4-tier data architectuur wordt gewerkt. De afbeelding hieronder laat een voorbeeld zien van een 4-tier architectuur, bestaande uit een extractielaag, transformatielaag, QlikMarts en presentatielaag.
Data model laag met ready-to-use datamodellen voor self-service data discovery
Transformatie laag met QVD’s
Extractie laag met QVD’s
Databronnen
Het beheren van de processen om de gegevens uit de bronsystemen te extracten, te transformeren en op te slaan in Qlik Sense, wordt dan problematisch. De volgende problemen kunnen dan ontstaan;
- Het doorvoeren van wijzigingen op bestaande apps neemt te veel tijd in beslag, omdat de impact van een wijziging niet eenvoudig kan worden geanalyseerd.
- De logica die is toegepast op afzonderlijke data-elementen is lastig te achterhalen.
- Documentatie is niet up-to-date, waardoor vragen van gebruikers niet snel beantwoord kunnen worden.
NodeGraph
Onlangs is de tool NodeGraph op de markt gekomen, waarmee de hierboven genoemde problemen tot het verleden behoren. NodeGraph is een add-on voor Qlik Sense en QlikView, waarmee de data lineage van bronsysteem naar app gevisualiseerd en geanalyseerd kan worden. In de tool kunnen we de relaties tussen databases, bestanden en apps op veldniveau bekijken. Met de zogenaamde Field Explorer is het mogelijk om alle transformaties op een veld te bekijken, van de bron (database, QVD, etc) tot de apps die door eindgebruikers wordt gebruikt. Het uitvoeren van impactanalyses zal hierdoor veel sneller gaan dan je gewend was.
Het installeren en configureren van NodeGraph is heel eenvoudig. Het enige dat na de installatie van de software nodig is, is het instellen van enkele paden voor het inlezen van logbestanden en de connectie naar de Qlik server. NodeGraph gaat met deze instellingen de metadata van de apps in kaart brengen. In de overzichtelijke webinterface worden de relaties tussen databron en applicatie mooi weergegeven en kan er eenvoudig ingezoomd worden op de details. Hierdoor is het mogelijk om binnen enkele seconden vragen te beantwoorden als;
- Uit welke databases wordt de data ingelezen in een app?
- Welke bestanden worden gebruikt in een app en uit welke laag komen de bestanden?
- Wanneer is een bronbestand voor het laatst bijgewerkt?
- Welke QVD bestanden worden onbedoeld uit een testdatabase ingelezen in plaats van productie?
Naast het bieden van inzicht kan NodeGraph met een druk op een knop de documentatie van een applicatie genereren. Het schrijven en bijhouden van documentatie, wat een vervelende en tijdrovende klus is, is daardoor niet meer nodig. Door een beter inzicht in de datalogistiek houden ontwikkelaars met NodeGraph meer tijd over om nieuwe applicaties te ontwikkelen. De organisatie kan hierdoor sneller inspelen op de wensen van gebruikers en klanten. Daarnaast zal de kwaliteit van de BI applicaties toenemen en zal de druk op de beheerorganisatie afnemen.
Wil je meer weten over NodeGraph, bekijk dan de korte video of lees ons NodeGraph artikel
Geschreven door Steven Samuels Brusse,
Senior Qlik consultant