TL;DR
Dit artikel in het kort
- Rollen en rechten bepalen wie in je webapplicatie wat mag zien en doen.
- Goed toegangsbeheer is een van de belangrijkste beveiligingsmaatregelen; verkeerd geregelde toegang is het meest voorkomende webrisico.
- Het uitgangspunt is "least privilege": iedereen krijgt standaard alleen toegang tot wat hij echt nodig heeft.
- Rollen groeperen rechten per functie, zodat je toegang overzichtelijk en beheersbaar houdt.
- Toegangscontrole hoort in de kern van de applicatie te zitten, niet alleen in de weergave.
Deze onderwerpen komen aan bod
Klik en lees direct verder.
Introductie
Rollen en rechten in een webapplicatie bepalen wie wat mag: welke gebruiker welke informatie ziet en welke acties hij kan uitvoeren. Goed geregeld is dit onzichtbaar en vanzelfsprekend; verkeerd geregeld is het een van de grootste beveiligingsrisico's die er zijn. Denk aan een medewerker die per ongeluk bij salarisgegevens kan, of een klant die de gegevens van een ander ziet. Toegangsbeheer klinkt technisch, maar de principes erachter zijn goed te begrijpen en cruciaal voor de veiligheid van je software. In dit artikel lees je wat rollen en rechten zijn, waarom ze zo belangrijk zijn, hoe je ze verstandig inricht en waar je op let. Zo begrijp je genoeg om te zorgen dat de toegang in jouw webapplicatie veilig en overzichtelijk geregeld is.
Wat zijn rollen en rechten?
Rollen en rechten vormen samen het toegangsbeheer van een webapplicatie. Een recht is de toestemming om iets specifieks te zien of te doen, bijvoorbeeld een factuur inzien of een gebruiker verwijderen. Een rol is een verzameling rechten die bij een bepaalde functie hoort, zoals "beheerder", "medewerker" of "klant".
Door rechten te groeperen in rollen houd je toegang overzichtelijk: je kent een gebruiker een rol toe, en daarmee krijgt hij in één keer de bijbehorende rechten. Dat is veel beheersbaarder dan per persoon losse rechten instellen, zeker naarmate je meer gebruikers hebt. Dit systeem, waarbij toegang via rollen wordt geregeld, is een gangbare en beproefde aanpak. Wij bouwen dit soort toegangsbeheer standaard in onze maatwerk software, afgestemd op de functies en verantwoordelijkheden binnen jouw organisatie.
Waarom zijn rollen en rechten zo belangrijk voor de beveiliging?
Rollen en rechten zijn belangrijk omdat verkeerd geregelde toegang een van de meest voorkomende en ernstige beveiligingsrisico's is. Volgens OWASP, de gezaghebbende autoriteit op het gebied van webbeveiliging, staat "broken access control" boven aan de lijst van kritieke webapplicatierisico's.
Het gaat mis wanneer gebruikers dingen kunnen zien of doen waarvoor ze geen recht hebben: een gewone gebruiker die bij beheerfuncties kan, of iemand die de gegevens van een ander inziet door een webadres aan te passen. De gevolgen kunnen ernstig zijn, van datalekken tot misbruik van bevoegdheden. Omdat dit risico zo veelvoorkomend en impactvol is, is zorgvuldig toegangsbeheer geen bijzaak maar een kernonderdeel van veilige software. Goed geregelde rollen en rechten vormen daarmee een van de belangrijkste beschermingslagen van je hele webapplicatie.
Enkele door ons op maat gemaakte webapplicaties?
Wat is het "least privilege"-principe?
Het "least privilege"-principe houdt in dat iedereen standaard alleen toegang krijgt tot wat hij echt nodig heeft voor zijn werk, en niets meer. Volgens OWASP is de veilige standaard "deny by default": toegang wordt alleen verleend voor specifieke functies, rollen of gebruikers, en is niet zomaar voor iedereen beschikbaar.
Dit is een van de belangrijkste principes van veilig toegangsbeheer. In plaats van iedereen ruime toegang te geven en achteraf in te perken, begin je met niets en ken je gericht toe wat nodig is. Zo beperk je de schade als er iets misgaat: raakt een account gecompromitteerd, dan kan de aanvaller alleen bij wat dat account mocht, niet bij alles. Het principe klinkt streng, maar in de praktijk voelt het voor gebruikers natuurlijk: ze zien precies wat bij hun werk past, zonder afgeleid te worden door functies die niet voor hen zijn. Wij richten toegang standaard volgens dit principe in.
Hoe richt je rollen en rechten verstandig in?
Je richt rollen en rechten verstandig in door te beginnen bij de functies in je organisatie en te bepalen welke toegang bij elke functie hoort. Breng in kaart welke soorten gebruikers je hebt (bijvoorbeeld beheerder, medewerker, klant) en wat elk van hen moet kunnen zien en doen. Die functies vertaal je naar rollen met bijbehorende rechten.
Houd het aantal rollen beheersbaar: te veel verschillende rollen maakt het onoverzichtelijk, te weinig maakt het te grof. Zoek de balans die past bij jouw organisatie. Denk ook aan bijzondere situaties: wat als iemand tijdelijk extra toegang nodig heeft, of van functie verandert? Een goed systeem maakt het eenvoudig om rollen aan te passen zonder de hele structuur om te gooien. Begin bij het least-privilege-uitgangspunt en breid gericht uit waar nodig. Wij helpen je de rollenstructuur bepalen die aansluit op hoe jouw organisatie werkt, zodat toegang zowel veilig als praktisch is.
Waarom moet toegangscontrole in de kern van de applicatie zitten?
Toegangscontrole moet in de kern (de "achterkant") van de applicatie zitten, niet alleen in wat de gebruiker op het scherm ziet. Een veelgemaakte fout is om knoppen of menu's te verbergen voor gebruikers die er geen recht op hebben, maar de onderliggende controle achterwege te laten. Dan lijkt de toegang beperkt, maar is hij dat in werkelijkheid niet.
Volgens OWASP is toegangscontrole die alleen aan de voorkant is geregeld een bekende kwetsbaarheid. Iemand met wat technische kennis kan de weergave omzeilen en de onderliggende functie alsnog aanroepen als de server dat niet blokkeert. Daarom moet elke actie en elk gegeven aan de serverkant worden gecontroleerd: mag deze gebruiker dit echt? Het verbergen van knoppen is prettig voor de gebruikerservaring, maar de echte beveiliging zit in de controle die de gebruiker niet ziet. Wij bouwen toegangscontrole altijd in de kern van de applicatie, zodat de beveiliging niet te omzeilen is.
Hoe houd je rollen en rechten beheersbaar naarmate je groeit?
Je houdt toegangsbeheer beheersbaar door te werken met een heldere rollenstructuur en die actief te onderhouden. Naarmate je organisatie groeit, komen er gebruikers, functies en misschien locaties bij, en zonder onderhoud raakt de toegang langzaam vertroebeld: mensen behouden rechten die ze niet meer nodig hebben, of krijgen ad hoc extra toegang die niemand meer overziet.
De oplossing is periodiek nalopen wie welke toegang heeft en of dat nog klopt, en zorgen dat rechten meebewegen als iemand van functie verandert of vertrekt. Een goed systeem maakt dit eenvoudig: je past een rol aan of wijst een andere toe, in plaats van losse rechten te moeten uitzoeken. Ook is het handig als je kunt zien en verantwoorden wie waar toegang toe heeft, wat helpt bij controle en bij de AVG. Wij bouwen toegangsbeheer zo dat het overzichtelijk blijft en meegroeit met je organisatie, zodat veiligheid en beheersbaarheid samengaan.
Ontvang onze brochure over webapplicaties
Wij ontwikkelen al jaren innovatieve maatwerk webapplicaties.
Wil je weten hoe wij sinds 2005 maatwerk webapplicaties ontwikkelen die veilig, snel en schaalbaar zijn? En hoe deze ook jou tijd en geld besparen? Download dan onze brochure over webapplicaties.
Checklist: is het toegangsbeheer van je webapplicatie op orde?
Loop deze punten langs, of stel ze aan wie je software bouwt. Ze geven een indruk of de toegang goed geregeld is.
- Is toegang geregeld volgens "least privilege": iedereen alleen wat hij echt nodig heeft?
- Werk je met rollen die aansluiten op de functies in je organisatie?
- Zit de toegangscontrole in de kern van de applicatie, niet alleen in de weergave?
- Kunnen gebruikers nooit de gegevens of functies van anderen bereiken waarvoor ze geen recht hebben?
- Bewegen rechten mee als iemand van functie verandert of vertrekt?
- Kun je zien en verantwoorden wie waar toegang toe heeft?
Weet je niet zeker of de toegang goed geregeld is? Leg het voor. Een beoordeling maakt vaak duidelijk of het toegangsbeheer van je webapplicatie op maat veilig en beheersbaar is.
Dennis Jongerden
Ruim twintig jaar geleden begon ik samen met mijn tweelingbroer Roy aan het Websteen-avontuur. Ik ben nog altijd eindverantwoordelijk voor de techniek achter onze websites en webapplicaties, maar het programmeerwerk heb ik overgedragen aan de back-end developers. Zo kan ik me als product owner richten op meedenken met klanten en het goed uitwerken van sprints en user stories.
Veelgestelde vragen over rollen en rechten in een webapplicatie
Wat is het verschil tussen een rol en een recht?
Een recht is een enkele toestemming om iets specifieks te doen of te zien, bijvoorbeeld "facturen inzien", "een gebruiker aanmaken" of "een order goedkeuren". Een rol is een verzameling van zulke rechten die bij een bepaalde functie hoort, zoals "beheerder", "medewerker" of "klant". In plaats van elke gebruiker afzonderlijk losse rechten te geven, ken je hem een rol toe, waarmee hij in één keer alle bijbehorende rechten krijgt. Dat maakt toegangsbeheer veel overzichtelijker en minder foutgevoelig, zeker bij veel gebruikers. Verandert het takenpakket van een functie, dan pas je de rol aan en werkt dat door voor iedereen met die rol. Deze manier van werken, waarbij toegang via rollen wordt geregeld, is een beproefde standaard in webapplicaties. Het onderscheid is dus: rechten zijn de individuele toestemmingen, rollen zijn logische groepen daarvan die het beheer praktisch en veilig houden.
Waarom is verkeerd geregelde toegang zo'n groot risico?
Omdat het direct raakt aan wie bij welke gegevens en functies kan, en fouten hierin ernstige gevolgen hebben. Volgens OWASP is verkeerd geregelde toegang (broken access control) het meest voorkomende en een van de meest kritieke risico's voor webapplicaties. Gaat het mis, dan kan een gebruiker gegevens van anderen inzien, functies gebruiken die niet voor hem bedoeld zijn, of zelfs beheerdersrechten krijgen. Dat kan leiden tot datalekken, misbruik en schade aan vertrouwen. Het risico is groot omdat toegang overal in een applicatie speelt: bij elke pagina, elke actie en elk gegeven moet worden gecontroleerd of de gebruiker er recht op heeft. Eén plek waar die controle ontbreekt, kan al een lek vormen. Bovendien zijn dit soort fouten voor kwaadwillenden relatief makkelijk te misbruiken. Daarom verdient toegangsbeheer bijzondere aandacht en hoort het zorgvuldig en consequent te worden ingericht, door de hele applicatie heen.
Wat betekent "least privilege" in de praktijk?
In de praktijk betekent "least privilege" dat je elke gebruiker precies de toegang geeft die bij zijn werk hoort, en niet meer. Je begint niet met ruime toegang die je achteraf inperkt, maar met niets, en kent gericht toe wat nodig is. Een medewerker in de klantenservice krijgt bijvoorbeeld toegang tot klantgegevens die hij nodig heeft, maar niet tot salarisadministratie of systeeminstellingen. Een externe partner ziet alleen zijn eigen dossiers, niet die van anderen. Het voordeel is tweeledig: het is veiliger, omdat de schade beperkt blijft als een account misbruikt wordt, en het is overzichtelijker voor de gebruiker, die alleen ziet wat voor hem relevant is. Het principe vraagt bij het inrichten wat denkwerk, omdat je per rol bewust bepaalt wat echt nodig is, maar het levert een veiliger en helderder systeem op. Het is een van de meest fundamentele en effectieve principes van goed toegangsbeheer.
Kan ik zelf rollen en rechten beheren, of moet dat via de bouwer?
Dat kun je laten inrichten zoals het jou uitkomt. Veel webapplicaties krijgen een beheeromgeving waarin jij zelf gebruikers kunt toevoegen, rollen kunt toewijzen en toegang kunt aanpassen, zonder tussenkomst van de bouwer. Dat is handig als er regelmatig gebruikers bij komen of veranderen, en het geeft je controle over je eigen organisatie. De onderliggende rollenstructuur (welke rollen er zijn en welke rechten daarbij horen) wordt doorgaans wel bij de bouw vastgelegd, omdat die de basis van de beveiliging vormt. Wil je later nieuwe rollen of fundamenteel andere rechten, dan loopt dat meestal via je ontwikkelpartner. Voor het dagelijkse beheer, zoals iemand toevoegen of een bestaande rol toewijzen, kun je dus vaak zelf terecht. Bespreek vooraf hoeveel je zelf wilt kunnen beheren, zodat de applicatie daarop wordt ingericht. Zo houd je grip op de dagelijkse toegang zonder afhankelijk te zijn voor elke wijziging.
Wat gebeurt er met de rechten als een medewerker vertrekt?
Bij vertrek horen de toegangsrechten van die medewerker direct te worden ingetrokken, zodat hij geen toegang meer heeft tot je systemen en gegevens. Dit is een belangrijk maar vaak vergeten onderdeel van toegangsbeheer: accounts die actief blijven na vertrek vormen een reëel beveiligingsrisico. Een goed systeem maakt het eenvoudig om een account te deactiveren of te verwijderen, waarmee in één keer alle bijbehorende rechten vervallen, juist omdat die via de rol zijn geregeld. Het is verstandig een vast proces te hebben voor als iemand vertrekt of van functie verandert, zodat toegang altijd meebeweegt met de werkelijke situatie. Ook periodiek controleren wie er nog toegang heeft, helpt om "vergeten" accounts op te sporen. Verwerk je persoonsgegevens, dan is dit ook relevant voor de AVG. Bespreek daarom bij het inrichten van je applicatie hoe je omgaat met vertrekkende gebruikers, zodat dit soepel en veilig verloopt en er geen actieve toegang achterblijft.
Is het genoeg om knoppen te verbergen voor gebruikers zonder rechten?
Nee, dat is beslist niet genoeg, en het is een veelgemaakte fout. Het verbergen van knoppen of menu-items voor gebruikers zonder rechten verbetert de gebruikerservaring, maar het is geen echte beveiliging. De reden is dat wat je op het scherm verbergt, aan de onderkant vaak nog steeds bereikbaar is: iemand met wat technische kennis kan de verborgen functie alsnog aanroepen als de server niet controleert of het mag. Volgens OWASP is toegangscontrole die alleen aan de voorkant is geregeld een bekende kwetsbaarheid. Echte beveiliging vereist dat elke actie en elk gegeven aan de serverkant wordt gecontroleerd: bij elk verzoek beoordeelt het systeem of deze specifieke gebruiker hier recht op heeft. Het verbergen van knoppen mag daar een aanvulling op zijn voor de overzichtelijkheid, maar nooit de enige maatregel. Toegangscontrole hoort in de kern van de applicatie te zitten, niet alleen in wat de gebruiker ziet.
Hoe verhouden rollen en rechten zich tot de AVG?
Rollen en rechten spelen een directe rol in het voldoen aan de AVG wanneer je persoonsgegevens verwerkt. De AVG vereist dat je zorgvuldig omgaat met wie toegang heeft tot persoonsgegevens, en dat je die toegang beperkt tot wie hem echt nodig heeft. Dat sluit precies aan bij het least-privilege-principe. Door toegang via rollen goed te regelen, zorg je dat bijvoorbeeld alleen de juiste medewerkers bij gevoelige klantgegevens kunnen, en dat anderen dat niet kunnen. Ook moet je vaak kunnen aantonen wie waar toegang toe heeft, wat makkelijker is met een heldere rollenstructuur dan met losse, ondoorzichtige rechten. Daarnaast helpt goed toegangsbeheer bij het naleven van andere AVG-eisen, zoals het kunnen inperken of intrekken van toegang. Kortom: zorgvuldig ingerichte rollen en rechten zijn niet alleen goed voor de beveiliging, maar ook een belangrijk hulpmiddel om aantoonbaar aan de privacywetgeving te voldoen bij het verwerken van persoonsgegevens.
Hoe begin ik met het goed inrichten van rollen en rechten?
Begin met in kaart brengen welke soorten gebruikers je webapplicatie heeft en wat elk van hen moet kunnen zien en doen. Denk in functies: wie zijn de beheerders, wie de gewone gebruikers, zijn er klanten of externe partijen, en wat hoort bij elke groep? Vertaal die functies naar rollen, en bepaal per rol welke rechten echt nodig zijn, vanuit het uitgangspunt "alleen wat nodig is". Denk ook na over bijzondere situaties, zoals tijdelijke toegang of functiewisselingen, en over hoe je toegang intrekt als iemand vertrekt. Met die informatie kan een ontwikkelpartner een veilige, overzichtelijke rollenstructuur bouwen, met de controle in de kern van de applicatie. Je hoeft de techniek niet zelf te beheersen; een goede partner vertaalt jouw organisatie naar een passend toegangsmodel en zorgt dat het veilig is opgezet. Een korte verkenning maakt vaak al duidelijk hoe de rollenstructuur eruit moet zien en waar je op moet letten.
Gerelateerde artikelen
Lees verder Beveiliging van een webapplicatie
Waar let je op bij de beveiliging van je webapplicatie? Van de OWASP-risico's en toegangsbeheer tot versleuteling, updates en de AVG.
Lees verder Webapplicatie op maat laten maken
Een webapplicatie die volledig om jouw werkwijze heen wordt gebouwd. Ontdek wat een applicatie op maat oplevert en wanneer het loont.
Lees verder Maatwerk software
Software die precies past bij jouw processen in plaats van andersom. Lees wat maatwerk oplevert en wanneer het de juiste keuze is.
Lees verder Bekijk onze cases
Benieuwd wat we voor anderen bouwden? Bekijk voorbeelden van maatwerk webapplicaties en gemoderniseerde systemen uit de praktijk.
Hé... wacht even!
Wil je weten hoe wij sinds 2005 webapplicaties op maat ontwikkelen die veilig, snel en schaalbaar zijn? En hoe deze ook jou tijd en geld besparen? Download dan onze brochure over webapplicaties.
Ja, ik wil de brochure aanvragen
Misschien laterHome Webapplicaties FAQ Rollen en rechten in een webapplicatie: hoe regel je toegang goed?
