26-02-2019

Security in de cloud

Deel dit bericht

Zoals aangegeven in een vorige blog, zijn we verder gegaan met het onderzoeken van de precieze toepasbaarheid van SAP Analytics Cloud (SAC). Hierbij lopen we lopen we vrij snel tegen het aspect security aan. Hoe kunnen we dit het beste inregelen? Hoe zorgen we ervoor dat iedereen de juiste toegang heeft en de data, connecties, modellen en story’s kan zien waar hij of zij voor geautoriseerd is?

Teamwork of per gebruiker
Zoals bij de applicaties moet de gebruiker een account hebben met bepaalde rechten. In SAC moeten we hiervoor Users, Teams en Roles aanmaken.
De applicatie komt met een aantal standaard rollen, maar je kan naar eigen inzicht eigen rollen aanmaken. Per rol kan er op verschillende niveaus toegang verleend worden tot specifieke functionaliteit van SAC. En kan per model worden aangegeven welke rechten de rol heeft om een model wel of niet te gebruiken, bij te werken en eventueel aan te passen. Gebruikers kunnen worden toegevoegd aan de diverse rollen, maar het is ook mogelijk om teams te maken, daar gebruikers aan toe te voegen en de teams toe te voegen aan de rollen. Op die manier is het makkelijker om het beheer van grotere groepen gebruikers te realiseren.

Folders
Voor het eindproduct, de story’s, heb je te maken met folders waarin gebruikers en teams bepaalde rechten hebben. Voor modellen en connecties kan je geen gebruik maken van de folders.
Om goed te kunnen bepalen hoe SAC het beste ingericht kan worden en wat er met wie gedeeld wordt, is het nodig te begrijpen hoe de folderstructuur eruitziet.
Hieronder een schematische weergave van hoe deze is opgebouwd. De blauwe folders zijn niet aan te passen, voor de groene folders kan worden ingesteld wie er met welke rechten toegang heeft.


1-Folders.jpg



De user en team folders worden automatisch door het systeem aangemaakt, maar alleen de team folders zijn daarna aan te passen.
Er is ook een Public folder aanwezig. Story’s die hierin staan worden standaard gedeeld met iedereen. Het is ook mogelijk om dit aan te passen en binnen de Public folder subfolders te maken voor verschillende teams. Zo zou je deze folders bijvoorbeeld kunnen gebruiken als plek waar definitieve producten worden geplaatst en de user of team folders als ontwikkelomgeving.

Delen
We zagen al eerder dat we vanuit de rol de rechten voor modellen kunnen regelen. Bij de Data Connecties en Story’s werkt dit anders, hierbij moeten we aangeven met welke gebruikers of teams een connectie of story wordt gedeeld en welke rechten er daarbij worden gegeven. Hierbij geldt dat zowel alle rol-rechten als de share-instellingen moeten kloppen om ermee te kunnen werken in een story.
Zo kan je dus voor een connectie aangeven wie de connectie mag gebruiken om data via een model op te halen. Als die gebruiker ook de rol heeft met de juiste rechten op het betreffende model, moet worden bepaald welke data de gebruiker mag ophalen. Hoe dit gedaan wordt, heeft te maken met hoe SAC gebruikt wordt.
Gebruik je modellen met Live Data Connecties of met Import Data Connecties? We zullen beide situaties beschrijven waarbij we voor de Live Data Connectie kijken naar connecties met Universes.

Import Data Connection
Er zijn twee manier om security en autorisatie in te richten voor modellen met geïmporteerde data: Model Security en Dimension Security.

Model Security
Om dit toe te passen moet je in het model onder Preferences de Privacy optie aanzetten.

2-Access-and-Privacy.jpg


Hiermee wordt het model alleen toegankelijk voor de eigenaar en User Roles die hiervoor zijn geautoriseerd door de administrator. Hierbij kan er volledige toegang of beperkte toegang op basis van een dimensie worden toegekend. Zo kan je bijvoorbeeld inregelen dat een Sales Manager alleen de data van zijn of haar eigen regio kan zien.

Dimension Security
Om dit toe te passen moet je in het model bij de dimensies en measures onder de Dimension Preferences de optie Data Access Control aanzetten. Hiermee kan je de toegang tot data in je model voor bepaalde gebruikers toestaan.

3-Dimension-Preferences.jpg


Zodra de optie Data Access Control voor een dimensie wordt aangezet verschijnen er twee extra kolommen: Read en Write. De Write kolom heeft alleen een functie bij planning modellen. Analyse modellen kennen geen schrijf mogelijkheden. In de kolommen kan je aangeven welke gebruikers of teams toegang hebben tot de data.

Model en Dimension Security kan je door elkaar gebruiken. In dat geval heeft een gebruiker alleen toegang als aan alle voorwaarden voldaan is.

Live Data Connection
De security voor modellen die gemaakt zijn met een Live Data Connectie wordt voornamelijk geregeld in de on-premise omgeving. In SAC kan alleen worden aangegeven welke Live-Data-Connectie-modellen door een rol gebruikt mag worden, alle andere restricties worden overgenomen vanuit de on-premise-omgeving.
Bij import connecties naar een universe wordt de gebruikersnaam en het wachtwoord bij de connectie opgeslagen en kan iedereen die toegang heeft tot de connectie deze gegevens gebruiken. In het geval van een live connectie naar een universe is dit niet het geval. De gebruikersnaam en het wachtwoord worden niet bij de connectie opgeslagen maar er zijn hierbij twee manieren om de gebruiker van de connectie naar on-premise te authentiseren.
1. Gebruikersnaam en wachtwoord wordt bij elk gebruik ingevoerd
2. SAML Single Sign On moet zijn ingericht

Het account waarmee wordt ingelogd moet sowieso als Enterprise gebruiker bekend zijn op de on-premise omgeving. Het gebruik van een standaard account is mogelijk, maar door persoonlijke accounts te gebruiken kan je ervoor zorgen dat dat de SAC-gebruiker alleen toegang heeft voor data waar hij of zij voor geautoriseerd is.Beveiliging op rijniveau vanuit zowel de database als het BI Platform worden overgenomen door SAC. Door Single Sign on (SSO) op te zetten, zijn Live Data Connecties voor gebruikers het eenvoudigste te gebruiken en is het vanuit beheer oogpunt het best te garanderen dat een gebruiker toegang heeft tot de juiste data.

SAC gebruikt standaard SAP Cloud Platform Identity als identity provider, maar andere identity providers die het SAML 2.0 (Security Assertion Markup Language) protocol gebruiken, zoals Okta, Azure Active Directory Services of Active Directory Federation Services zijn ook te gebruiken. Hierbij is het ook mogelijk gebruikers te importeren, zodat het aanmaken van een grote groep users goed te doen is.

Conclusie
Security binnen SAP Analytics Cloud is dus op meerdere manieren mogelijk. Organisatiestructuren zijn in de folder structuren en teams na te bouwen zodat de juiste story’s met de juiste gebruikers gedeeld worden. Voor live-data-modellen wordt de on-premise inrichting volledig hergebruikt en voor import-data-modellen zijn autorisatie profielen na te bouwen in SAC. Belangrijk is dus hoe je SAC wil gaan gebruiken en wat je on-premise al hebt gerealiseerd.
Hoe je SAC wil inzetten in de organisatie heeft vooral te maken met welke plaats het moet innemen binnen je BI-landschap en waarvoor de oplossing gebruikt gaat worden.

SAC is erop gericht om op een simpele manier data discovery mogelijk te maken en het helpt de gebruiker inzichten te creëren en die te delen met anderen. De rapportage mogelijkheden van SAC zijn (nog) niet op niveau van andere on-premise SAP-producten en kan deze ook niet vervangen.

Maar misschien kan het wel worden ingezet als selfservice BI-tool waarmee de Business de vrijheid heeft om zelf modellen en story’s te ontwikkelen en analyses te doen. Of kan het worden ingezet in een IT-Managed BI-omgeving, waarbij IT de data preparatie en modellen beheert en de Business daarmee story’s creëert. Ook kan het binnen een Corporate BI-omgeving worden toegepast, waarbij IT het beheer doet van modellen en story’s en waarbij SAP Analytics Cloud wordt gebruikt als lichtgewicht dashboarding tool om de informatie naar externe partijen te ontsluiten.

Mart-Jan Venderbos is werkzaam bij Ensior als BI Consultant.

Partners