S1:A5 - De toegangsrechtenjungle
Voor veel bedrijven is het cruciaal om continu nieuwe releases live te zetten. Dat vraagt om supersnel software ontwikkelen, die per direct de klantvraag adresseert. Low-code platformen maken dit voor steeds meer organisaties en toepassingen werkelijkheid. Maar, de snelheid van low-code ontwikkeling vraagt, nóg meer dan ‘vroeger’, wel om adequate QA- en testoplossingen. Hoe sneller je figuurlijke low-code vliegtuig vliegt, hoe belangrijker het is de juiste maatregelen te nemen om geen hoogte te verliezen.
In de serie Gaining Speed Yet Losing Altitude bespreken we steeds een low-code kwaliteitsuitdaging en de maatregelen die je kunt nemen.
Zo blijf je de baas over de toegangsbeveiliging in je low-code apps
In mijn vorige blog (Vind het wiel niet opnieuw uit - Maar pas op voor de risico's bij het gebruik van Open Source) besprak ik de mogelijke risico’s van het gebruik van Open Source componenten in low-code apps. Sommige van deze risico's houden verband met security en helaas komen potentiële beveiligingsrisico's niet alleen bij het gebruik van Open Source voor. De meest gemaakte fout is eigenlijk 'de voordeur in je apps open laten staan', door gebruikersrollen en toegangsrechten onjuist te configureren. Deze blog gaat hier dieper op in en geeft mogelijke oplossingen om ongewenste toegang tot je apps te voorkomen.
Wat is de uitdaging?
Elke app, of die nu is gebouwd met low-code of regular code, heeft gebruikers. Deze gebruikers hebben bepaalde rollen en toegangsrechten. En die bepalen welke delen van de app en welke data wel of niet toegankelijk zijn. Op zich niets nieuws en indien goed geïmplementeerd (nog) geen probleem. Maar wat gebeurt er als je app groeit? Wat gebeurt er als er behoefte is aan meerdere soorten gebruikers, elk met hun eigen specifieke toegangsrechten? Dit is het moment waarop de veiligheidsrisico's toenemen. Het zijn de ontwikkelaars die dit allemaal moeten beheren en zelfs ontwikkelaars zijn ‘ook maar’ mensen. In platforms als Mendix en OutSystems kunnen ontwikkelaars deze gebruikersrollen en toegangsrechten configureren. Helaas bieden ze niet echt een manier om de gebruikersrollen en toegangsrechten op een gemakkelijke manier te beheren en te valideren. Hierdoor is het een reëel risico dat een ontwikkelaar een verkeerde configuratie 'over het hoofd ziet'.
Wat zijn de risico's?
Het beheren van een groot aantal gebruikersrollen en toegangsrechten is dus de belangrijkste uitdaging. Maar wat kan er gebeuren als dit niet goed wordt beheerd? Misschien is dit een beetje een open deur, maar ik wil toch wijzen op de risico's aan de hand van een voorbeeld.
Een van de belangrijkste dingen die je beheert via gebruikersrollen en toegangsrechten is toegang tot gegevens die je in een app gebruikt. Stel je voor dat je een Order Management App hebt gebouwd. Sommige gebruikers hebben toegang nodig tot de klant-entiteit die allerlei (potentieel gevoelige) informatie over klanten bevat. Indien onjuist geconfigureerd, is deze informatie ook toegankelijk voor gebruikers die dit niet zouden moeten kunnen. Of nog erger, voor mensen die helemaal geen geregistreerde gebruiker zijn.
De oplossing
Het belangrijkste dat ontwikkelaars moeten doen om mogelijke ongewenste toegang tot gegevens te voorkomen, is proberen alle gebruikersrollen en hun toegangsrechten bij te houden. Eén manier om dit te doen is door steeds wanneer een gebruikersrol wordt toegevoegd of wanneer toegangsrechten worden gewijzigd handmatige validaties uit te voeren. Dit betekent dat een ontwikkelaar elke afzonderlijke toegangsinstelling op bijvoorbeeld elke afzonderlijke entiteit handmatig moet controleren en verifiëren. Dat is nogal een tijdrovende klus, aangezien zowel Mendix als OutSystems niet echt alle gebruikersrollen en toegangsrechten op één plek inzichtelijk maken.
Zo maakt Omnext het een stuk eenvoudiger
Gelukkig heeft Omnext de feature Stay Secure ontwikkeld binnen het Omnext Fit Test platform. Hiermee evalueert het platform automatisch alle geïmplementeerde gebruikersrollen en gebruikersrechten. Het resultaat is een geaggregeerde weergave die alle gebruikersrollen toont en hun toegangsrechten aangeeft in een CRUDE-indeling. Het kan bijvoorbeeld aantonen dat UserRoleA CRU__-rechten heeft op EntityXYZ.
Met andere woorden, het biedt het inzicht en de details waarmee ontwikkelaars de gebruikersrollen en toegangsrechten veel sneller kunnen verifiëren. Het geeft echter niet aan of een instelling goed of fout is en dit is erg belangrijk om in gedachten te houden. Alleen een ontwikkelaar (of architect, security officer etc.) kan beoordelen of een gebruikersrol en specifiek toegangsrechten correct zijn. Als dat zo is, dan kan een gebruiker in het Omnext-portal de status op 'geverifieerd' zetten. Als het in de loop van de tijd verandert, wordt de status aangepast naar 'gewijzigd'. Zo weten gebruikers dat ze dit specifieke toegangsrecht opnieuw moeten verifiëren.
Door deze gedetailleerde gebruikersrol en toegangsrechten allemaal op één plek te hebben, wordt het beheren van toegang een stuk eenvoudiger en minder tijdrovend.
Wil je meer weten? Neem contact op met Omnext via contact@omnext.com
Bezoek www.omnext.com voor meer informatie
Omnext is een Valori solution
Over de auteur
Bryan de Vries is Chief Commercial Officer bij Omnext. Hij is verantwoordelijk voor business en product development en partnerships. Bryan heeft een sterke focus op de low-code oplossingen van Omnext en adviseert organisaties over software kwaliteitsvraagstukken.