Beperk toegang tot specifieke administraties op de Exact Online Premium-database op SQL Server

Leer hoe de toegang tot de SQL Server-database van Exact Online Premium verder beveiligd kan worden middels Invantive SQL.

Op dit moment is de onder getoonde functionaliteit alleen beschikbar voor interne tests door Invantive. Exact staat formeel de toegang tot SQL Server enkel toe via de eigen Power BI-connector op Microsoft Power BI Desktop.

Risico’s op datalek

Exact Online Premium is een speciale versie die qua infrastructuur significant afwijkt van de reguliere Exact Online versies.

De reguliere Exact Online en Exact Online Premium-versies zijn beiden gebaseerd op een database.

De Exact Online Premium-database is beschikbaar via SQL Server en biedt Power BI-gebruikers toegang tot alle tabellen en database views via de meegeleverde Power BI-connector. Echter, de database biedt geen datascoping en ook geen divisionscoping, noch UBAC of RBAC. Voor de REST en XML API’s gebeurt dat tussen de database en de uitgaande API-berichten. Voor Exact Online Premium moet de filtering en informatiebeveiliging plaatsvinden binnen bijvoorbeeld Power BI. Dit kan veel werk zijn en is blijvend foutgevoelig door de talloze plekken in rapporten en datasets waar een zorgvuldig samengesteld filter nodig is. Het aantal gevoelige plekken vergroot - in lijn met “avoid duplication of volatile information” EWD719 PDF and EWD719 text - het risico op ongeautoriseerde gegevensinzage uit Exact Online Premium.

Invantive SQL en Exact Online Premium-database

Binnen Invantive Cloud en alle andere Invantive SQL-gebaseerde producten zoals Invantive Query Tool is het al mogelijk om de Exact Online Premium-database op SQL Server te gebruiken:

image

In de catalogus “ExactOnlinePremium” zijn ruim 1600 extra tabellen en views te vinden, naast de ruim 1.100 Exact Online-tabellen via de andere catalogi.

In onderstaand voorbeeld is te zien dat data (CostCenters) van tientallen Exact Online-administraties zichtbaar zijn in een SQL Server-database met Exact Online Premium:

image

Binnen Invantive Cloud kan met het standaard use-statement en/of de grafische UI het aantal divisies beperkt worden. In Invantive Cloud zijn er bijvoorbeeld twee administraties beschikbaar:

image

Dit zijn al aanmerkelijk minder administraties dan de tientallen uit de directe query op SQL Server. Door alleen een vinkje te plaatsen bij de administratie met code 135483, leveren SQL-queries nog enkel rijen op voor deze administratie:

image

Na de selectie van de twee administraties die volgens de Exact Online REST API SystemDivisions beschikbaar zijn, levert een query nu data op uit de gekozen twee administraties:

image

Het gedrag van de Premium-database is daarmee in lijn gekomen met “division scoping” zoals bekend van de Exact Online API’s:

wat feitelijk hetzelfde is als “data scoping”:

Ik zie de Exact Online Premium API’s niet

Binnen Invantive Cloud, maar ook het Invantive Query Tool en andere producten, werken de Exact Online Premium API’s hetzelfde. De beschikbaarheid vereist een recente 22.1-BETA-versie en het gebruik van Exact Online Premium:

Wat zijn de beperkingen en resterende risico’s?

Het use-statement en andere elementen zoals Row Level Security van Invantive SQL bieden een enkelvoudige scheiding. Door bijvoorbeeld een tikfout in het use-statement of het verkeerd instellen van een autorisatie kan een gebruiker al toegang krijgen tot Exact Online-data waar de gebruiker uit hoofde van zijn functie geen toegang mag krijgen.

Invantive Cloud zelf is gericht op een scheiding tussen gebruiker en de data, waarbij in het algemeen meerdere foutsituaties tegelijk moeten optreden om een datalek te veroorzaken.

De boven beschreven werkwijze beperkt zich momenteel tot hetgeen bekend staat als “division scoping” op Exact Online. Het concept zou eenvoudig uitbreidbaar zijn tot “data scoping”, maar het is nog niet bepaald of dat past binnen de productiestrategie van Invantive.

Daarnaast blijft het mogelijk voor kwaadwillende gebruikers om de extra gegevensbeveiliging die door Invantive SQL geboden wordt te omzeilen, bijvoorbeeld door rechtstreeks een verbinding op te bouwen met de SQL Server-database. Dit risico op een datalek kan alleen gestopt worden door een beveiligingslaag die via een trusted device draait.

Beveiliging met alleen datascheiding zoals hier beschreven is daarom voor bepaalde soorten gegevens niet voldoende, zoals persoonsgegevens. Voor een optimale beveiliging raden we daarom aan altijd de lokale Security Officer te betrekken in de opzet van elk beveiligingsmodel als er gebruik gemaakt wordt van Exact Online Premium.