Autorisatie in SAC: de ins and outs!
Intro
SAP Analytics Cloud (SAC), heeft al heel wat progressie gemaakt sinds de eerste release in 2016. Iedere 2 weken komen updates uit, zowel op het gebied van de story’s als ook voor de beheertaken van SAC. In deze blog wil ik dieper ingaan op deze beheertaken en specifiek het inregelen van autorisaties binnen SAC in combinatie met één van de meest gebruikte bronnen binnen SAC: SAP BW.
Autorisaties in SAC
Onder het ‘Security’ menu zitten de opties die nodig zijn voor het aanmaken van gebruikers en het toekennen van permissies, via rollen, binnen SAC. De gebruikers kunnen handmatig worden ingevoerd of, in bulk, middels het uploaden van een CSV bestand. Daarnaast is het ook mogelijk om gebruikers via Active Directory te importeren, zodat het usermanagement op één centrale plek wordt vastgelegd en onderhouden. Om het toekennen van permissies te vereenvoudigen bestaat binnen SAC het concept van teams. Deze teams kunnen eveneens gebruikt worden om toegang te verlenen tot mappen waarin story’s en binnenkort ook modellen zijn gegroepeerd.
Voor het toevoegen van rollen aan gebruikers geldt eenzelfde opzet. Dit kan handmatig, via een bestandsupload, geautomatiseerd via SAML-attributen of via een SAC API. Het is ook mogelijk om een standaard rol(len) toe te kennen aan gebruikers. Bij het aanmaken van de gebruiker is er dan niet persé een extra roltoewijzing nodig. Het systeem voegt automatisch de standaardrol toe en klaar! Er bestaat zelf een mogelijkheid om dit te koppelen aan bestaande SAML-attributen waardoor je in combinatie met concurrent SAC licenties e.e.a. zou kunnen automatiseren.
Een handige feature binnen SAC is dat een eindgebruiker zelf extra rollen kan aanvragen. Bij het aanmaken van een rol kan aangegeven worden dat deze kan worden aangevraagd. Vervolgens is de rol dan beschikbaar in het ‘Request Roles’ menu voor de gebruikers en kunnen zij deze rol aanvragen. Het verzoek moet vervolgens goedgekeurd worden door de manager (indien ingevuld) of door een gebruiker met een administratieve rol.
Er bestaan een aantal standaard rollen in SAC. Deze zijn ook
te gebruiken als template wanneer een eigen rol wordt aangemaakt. Best practice
is om de standaard rollen niet te gebruiken. Indien SAP een wijziging doorvoert
kan dit leiden tot ongewenste effecten! Kopieer bij de inrichten van SAC de
standaard rollen en creëer en eigen rol. Binnen de rollen kunnen de rechten
worden toegekend zoals lees- en schrijfrechten per Analytic model.
SAC kent zowel Import als Live connecties
Data autorisatie van de bron – Live connectie
Met SAC kan er verder gebouwd worden op bestaande investeringen zoals BW-query’s en BW-datamodellen. Met data autorisatie is dat niet anders. De aanwezige BW-autorisatie wordt netjes meegenomen in SAC.
Met een live connectie wordt alleen de benodigde data heen en weer gestuurd. De query wordt op het backend systeem uitgevoerd en alleen het resultaat wordt naar de browser doorgestuurd. Alleen de metadata wordt in SAC opgeslagen, zoals de namen van de kolommen (bijvoorbeeld ‘jaarsalaris’). De inhoud van de kolommen (€ 30.000) blijft in het backend systeem en wordt alleen getoond in de browser.
Omdat een gebruiker zich kenbaar moet maken in het backend systeem, worden hier direct de autorisaties, die zijn vastgesteld in dit systeem, gehanteerd. Met andere woorden, er wordt geen data getoond die gebruikers in dit systeem niet mogen zien. Bij een BW/4HANA systeem bijvoorbeeld worden alleen de query’s getoond die de gebruiker ook zou mogen zien als deze direct op dit systeem zou aanloggen. Hetzelfde geldt voor Analyse autorisatie, de autorisatie op de data. Wanneer iemand 3 company codes van de 10 mag zien, worden ook alleen de gegevens van deze 3 company codes doorgegeven richting SAC.
Data autorisatie van de bron – Import connectie
Daarnaast is het mogelijk om binnen een model per dimensie aan te geven of deze geldig is voor ‘Data Access Control’. Hiermee kan per dimensie op gebruikersniveau rechten worden toegekend in een model. Dit zal vooral in het geval van importdata van toegevoegde waarde zijn.
Bij een import scenario worden de gegevens van het backend systeem overgehaald en opgeslagen in SAC. Hiermee wordt de link en dus de autorisatie met het backend systeem ook opgeslagen. Bij de import naar SAC wordt de autorisatie van het backend systeem in acht genomen, ook bij elke opvolgende refresh.
Als er nu wel rechten gewenst zijn in SAC zullen de rechten in het model moeten worden opgenomen voor overige gebruikers. Deze gaan namelijk niet meer naar het backend systeem.
Conclusie
Het toevoegen van SAC in een bestaand landschap behoeft inrichting. Gebruikers moeten worden aangemaakt, rollen moeten worden toegekend en ingericht. Dit wordt ondersteund met diverse mogelijkheden om de inspanning tot een minimum te beperken. Wat zeer positief is dat de investering in de inrichting van een goed autorisatiemodel in een SAP BW/4HANA systeem, geen verspilde moeite is. Deze wordt gewoon netjes afgevangen, zoals het hoort!
Ook bij import connecties zijn er mogelijkheden om autorisaties af te vangen al heeft dit wel meer voeten in de aarde. Voor de toekomst zal dit overigens minder relevant zijn als het nu aanwezige gat tussen live en import connecties gedicht wordt.