Rollen, mappers en clients
Rollen worden in Keycloak gebruikt om op een hoog niveau gebruikers rechten toe te kennen.
Uitleg termen en hun onderlinge relatie
Rollen
Rollen in Keycloak vertegenwoordigen een set van permissies of toegangsniveaus. Ze worden gebruikt om te definiëren wat een gebruiker mag doen binnen een applicatie of realm. Er zijn twee soorten: Realm rollen (die globaal zijn en aan elke gebruiker binnen de realm kunnen worden toegewezen) en Client rollen (die specifiek zijn voor een client binnen de realm).
Mappers
Mappers worden gebruikt om gebruikersattributen, roltoewijzingen en andere informatie in claims in een token te mappen. In de context van rollen kunnen mappers worden gebruikt om rol-informatie aan de tokens toe te voegen, zodat de tokens de rollen van de gebruiker weerspiegelen.
Clients
In Keycloak kan een client een applicatie of dienst zijn die Keycloak gebruikt voor authenticatie en autorisatie. Elke client kan zijn eigen set van rollen hebben (client rollen), die verschillen van realm rollen.
Scopes
Scopes in Keycloak worden gebruikt om de hoeveelheid informatie en permissies die een token verleent te beperken. Ze definiëren in wezen wat een token mag. Wanneer een client een token aanvraagt, kan het specifieke scopes aanvragen.
Hoe ze zich tot elkaar verhouden
Rollen en Scopes
Rollen definiëren de permissies die een gebruiker heeft, terwijl scopes beperken wat een token kan. Een gebruiker kan rollen hebben die brede permissies verlenen, maar als het token dat ze gebruiken beperkt is door een smallere scope, zijn hun effectieve permissies in een sessie beperkt tot wat de scope toelaat.
Mappers, Rollen en Scopes
Mappers kunnen worden gebruikt om rollen als claims aan tokens toe te voegen. Deze rolclaims kunnen vervolgens worden gebruikt in combinatie met scopes om fijnmazige toegangscontrolebeslissingen te maken. Bijvoorbeeld, een mapper kan ervoor zorgen dat een token informatie over de rollen van een gebruiker draagt, en scopes kunnen worden gebruikt om toegang te beperken op basis van die rollen.
Clients, Rollen en Scopes
Elke client kan zijn eigen rollen en scopes hebben. Dit betekent dat toegangscontrole specifiek kan worden aangepast voor elke applicatie. De interactie van een gebruiker met de ene client kan bepaalde rollen en scopes omvatten, terwijl hun interactie met een andere client een andere set van rollen en scopes kan betrekken.
Verder zijn er ook nog groepen. Groepen kunnen worden gebruikt om combinaties van attributen zoals rollen makkelijker op het gebied van gebruikers te beheren.
- Last Author
- hans
- Last Edited
- Jan 16 2024, 9:44 AM
