Toegangscontrole is het stelsel van regels dat bepaalt wie iets mag zien of doen binnen een applicatie, en alle anderen stilletjes tegenhoudt. Het is het verschil tussen een medewerker die de klantenlijst opent en een vreemde die bij datzelfde scherm wordt weggestuurd.
Zie het als een kantoorpand met een badgelezer op elke deur. Je badge brengt je tot de lobby en je eigen verdieping, maar diezelfde badge piept rood bij de serverruimte. Software werkt net zo: een ingelogde gebruiker mag misschien facturen lezen maar niet verwijderen, terwijl een beheerder allebei kan. Toegangscontrole leunt op authenticatie, die de identiteit bewijst, en werkt samen met autorisatie, die de concrete rechten toekent.
In de praktijk wijs je rechten bijna nooit per persoon toe. Je bundelt ze in rollen, zodat een ‘supportmedewerker’ of ‘finance manager’ in een keer een net pakketje rechten krijgt. Dat patroon heeft een eigen naam, RBAC, en het houdt alles overzichtelijk als een team groeit van vijf naar vijftig mensen.
De meest gemaakte fout is rechten alleen in de interface controleren. Verberg je een verwijderknop, maar accepteert de onderliggende API het verwijderverzoek nog steeds, dan komt iedereen die dat verzoek met de hand opstelt er gewoon door. De echte regel is dus: dwing toegang af op de server, bij elke actie, en leg het vast in een audit log zodat je later ziet wie wat deed. Een tweede valkuil is dat rechten met de tijd vol blijven lopen. Iemand wisselt van team, houdt zijn oude toegang en verzamelt jaar na jaar meer dan hij nodig heeft. Een vaste herziening, een paar keer per jaar, snoeit die rechten terug naar wat het werk nu echt vraagt.
Bij TopDevs ontwerpen we toegangscontrole vanaf dag een in elke app, zodat elke gebruiker precies bereikt wat zijn werk vraagt en niets wat hij nooit zou mogen zien.