Rôles Keycloak

Rôles Keycloak

La gestion des permissions au sein d'EFR repose sur deux axes :

  1. Un axe transverse, basé sur les rôles Keycloak ;

  2. Un axe spécifique, où chaque module gère ses propres permissions.

Le second axe est autonome par module, et ne nécessite aucune configuration préalable de votre part. En revanche, il faut configurer certains éléments sur la gestion de l’identité, afin d’offrir soit des accès, soit des permissions administrateurs à certains de vos utilisateurs.

Comment configurer Keycloak

Pour la suite de cette documentation, vous êtes invités à prendre en compte les articles suivants :

  • Création de rôles dans Keycloak: [lien].

  • Attribution de rôle à un utilisateur [lien].

Rôles requis, par module

Dans le tableau ci-dessous, les rôles en verts sont ceux posant peu de risques. En orange, il s’agit de rôles pouvant avoir un impact important. En rouge, sont ceux dont l’accès doit être très limité.

Module

Lecture

Écriture

Module

Lecture

Écriture

Cartographie *

efr_carto_access

efr_carto_write

Propriétés

efr_properties_access

efr_properties_write

Tables dynamiques

efr_tables_access

efr_tables_admin **

Rejeu

efr_replay_access

efr_replay_write

Tests de non-régression

efr_nrt_access

efr_nrt_write

Notifications globales (sans IHM)

/

efr_notifs_send

Il faut noter que la portée “écriture” est en réalité très large, et sous entend “toute action modifiant un état”.

Par exemple, sur le module de rejeu, la permission d'écriture permet aussi de déclencher un rejeu.

(*) Le module de cartographie est partagé entre deux IHM (cartography et reporting), et entre 3 API (applications, business, mediations).

(**) La permission efr_tables_admin n’est à confier qu’aux administrateurs. En effet, ce module a son propre système de permissions auto-porté.

Voir l’article Gestion des permissions dans le module de Tables Dynamiques pour plus d'informations.

Actions globales

Pour plus aisément donner les accès aux modules à vos utilisateurs, vous pouvez donner le rôle à tout le monde par défaut.

Configurer un rôle avec un Identity Provider externe

Dans le cas d’un AD par exemple, vous pouvez ajouter un rôle mapper offrant un rôle hardcodé.

Dans la vue Mapper de votre Identity Provider, voici un exemple de rôle donné par défaut :

image-20250227-090555.png
Exemple de configuration permettant à tous les utilisateurs de l’AD de récupérer le rôle d’accès au module de tables dynamiques.

Ce contenu est soumis au droit à Copyright. Il ne doit pas être utilisé sans accord de la société Middleware Editions.