Role Based Access Control in Keycloak: houd controle op de juiste plekken

Wie écht grip wil op wat gebruikers wel en niet mogen binnen een applicatie, komt al snel uit bij Role Based Access Control. Oftewel: rollen toekennen en daarmee bepalen welke knoppen, schermen of acties zichtbaar zijn voor wie. Gelukkig zit die mogelijkheid standaard in Keycloak. En waar nodig, helpt First8 Conclusion je op weg. “Je kunt tot op detailniveau bepalen welke rol iemand heeft.”

17 juni 2025   |   Blog   |   Door: First8 Conclusion

Deel

Rollen: meer dan alleen toegang geven
Wanneer een applicatie achter Keycloak hangt, kun je met rollen precies instellen wie welke acties mag uitvoeren. IAM-expert Omar Adham van First8 Conclusion legt uit: “Denk aan het kunnen zien van een knop, het aanmaken van resources of het aanpassen van gegevens. Daar koppel je rollen aan, en die rollen geef je aan gebruikers. Zo bepaal je op detailniveau wat er mogelijk is. Je kunt out-of-the-box Keycloak-rollen aanwijzen, om precies te bepalen wat een gebruiker binnen Keycloak moet kunnen. Daarnaast kun je zelf rollen aanmaken, waarmee je de functionaliteit in je eigen applicatie afschermt. Je kunt rollen combineren en het zo fijnmazig maken als je zelf wilt. Maar let op: houd het wel overzichtelijk.”

Groepen, compositerollen en attributen
Soms wil je gebruikers niet één voor één losse rollen geven. Daar komen groepen en compositerollen in beeld. Omar: “Zet iemand in een groep en die krijgt automatisch de bijbehorende rollen. Je kunt ook attributen meegeven, zoals het land van herkomst of een KvK-nummer vanuit een eHerkenningslogin.” Compositerollen zijn een andere manier om rollen te bundelen: één rol die onderliggend meerdere andere rollen bevat. Handig voor hiërarchieën binnen organisaties of applicaties met veel functionaliteit.

Standaardrollen en mappers
Het aanwijzen van rollen kan ook geautomatiseerd worden. “Je kunt de standaardrollen aanpassen: rollen die iedere nieuwe gebruiker automatisch krijgt”, legt Omar uit. “Ook kun je mappers instellen. Als een gebruiker vanuit een externe identiteitsprovider inlogt, kan een mapper bijvoorbeeld bepaalde attributen vanuit daar omzetten of meenemen naar Keycloak -rollen en -attributen. Ook bestaan er mappers om rollen en groepen vanuit aangesloten LDAP's zoaquotls Active Directory op te halen.”

“Je kunt rollen combineren en het zo fijnmazig maken als je wilt, maar houd het wel overzichtelijk”

Omar Adham, IAM-expert bij First8 Conclusion

Soms zit de autorisatie ergens anders

Niet elke organisatie kiest ervoor om de autorisatie in Keycloak onder te brengen. Omar: “Bij een van onze klanten gebruiken ze Keycloak puur voor het inloggen, maar rechtenbeheer doen ze elders. Ze willen alle gebruikersdata inclusief autorisatie op één centrale plek. Dat is prima, Keycloak biedt de flexibiliteit om dit soort keuzes te ondersteunen.”

 

Rollen beheren: liever standaard, maar uitbreiden kan
De gouden regel bij Role Based Access Control in Keycloak: houd het zo standaard mogelijk. Maar als je extra wensen hebt, is er veel mogelijk met combinaties van rollen, groepen en attributen. En waar nodig, denkt First8 Conclusion graag mee. Akke: “Bij onderhoud of upgrades signaleren we soms kansen voor verbetering. Dan bespreken we dat proactief met de klant. Zodat alles nog soepeler draait.”

Zelf aan de slag met Role Based Access Control?
Tijdens de Workshop Keycloak die First8 Conclusion samen met Red Hat organiseert, komt Role Based Access Control ook aan bod. Omar: “De demo-applicatie is een hotelplatform. Rollen bepalen wie kamers mag zien, wie boekingen kan maken en wie wat aan elkaar mag koppelen. Zo wordt het tastbaar, ook voor mensen zonder technische achtergrond.” Akke Toeter, Java Developer bij First8 Conclusion, vult aan: “We hebben dan iemand met meer rechten die wél boekingen kan aanpassen, en een ander die alleen mag kijken. Rollen maken het mogelijk om die scheiding helder en veilig door te voeren.”