web-dev-qa-db-fra.com

Comment sont gérés les rôles Keycloak?

Keycloak est un excellent outil, mais il manque de documentation appropriée.

Nous avons donc Realm.roles, Client.roles et User.roles

Comment fonctionne-t-il 3 lorsque vous accédez à une application à l'aide d'un client spécifique?

Cordialement,

8
Olivier Refalo

Dans KeyCloak, nous avons ces 3 rôles:

  1. Domaine Rôle
  2. Client Rôle
  3. Composite Rôle

Il n'y a aucun rôle d'utilisateur dans KeyCloak. Vous avez probablement confondu cela avec le mappage de rôle utilisateur, qui consiste essentiellement à mapper un rôle (domaine, client ou composite) à l'utilisateur spécifique

Afin de découvrir comment ces rôles fonctionnent réellement, jetons d'abord un coup d'œil à un modèle de domaine simple que j'ai créé. Comme vous pouvez le voir sur l'image ci-dessous, chaque royaume a un ou plusieurs clients . Et chaque client peut être associé à plusieurs utilisateurs .

enter image description here

À partir de là, il devrait être facile de conclure comment fonctionnent les mappages de rôles.

Rôle du royaume: C'est un rôle global, appartenant à ce royaume spécifique. Vous pouvez y accéder depuis n'importe quel client et mapper vers n'importe quel utilisateur. Rôle Ex: 'Administrateur Global, Admin'

Rôle du client: C'est un rôle qui n'appartient qu'à ce client spécifique. Vous ne pouvez pas accéder à ce rôle à partir d'un autre client. Vous ne pouvez le mapper qu'aux utilisateurs de ce client. Rôles Ex: 'Employé, Client'

Rôle composite: Il s'agit d'un rôle auquel un ou plusieurs rôles (domaine ou client) lui sont associés.

25
Dino