Skip to main content

Skillber v1.0 is here!

Learn more

RBAC — Contrôle d'Accès Basé sur les Rôles

Checking access...

Le contrôle d’accès basé sur les rôles (RBAC) est le modèle d’autorisation le plus largement déployé en entreprise. La norme NIST RBAC (ANSI INCITS 359-2004) définit un modèle de référence avec quatre niveaux de sophistication croissante.

La Norme NIST RBAC

Modèle de Référence NIST

Le modèle NIST RBAC définit trois composants principaux :

┌──────────────────────────────────────────────────────────┐
│ NIST RBAC MODEL │
│ │
│ ┌─────────┐ ┌──────────┐ ┌───────────┐ │
│ │ Users │───>│ Roles │───>│Permissions│ │
│ └─────────┘ └──────────┘ └───────────┘ │
│ │ │ │
│ │ │ │
│ │ ┌────────┴────────┐ │
│ │ │ Sessions │ │
│ │ │ (Activations) │ │
│ │ └─────────────────┘ │
│ │
│ Règles : │
│ - Un utilisateur peut avoir plusieurs rôles │
│ - Un rôle peut avoir plusieurs permissions │
│ - Un utilisateur active des rôles dans une session │
│ - Les permissions dérivent des rôles activés │
└────────────────────────────────────────────────────────────┘

Les Quatre Niveaux RBAC

Niveau 1 — RBAC Plat (Flat RBAC)

Le niveau de base. Les utilisateurs se voient attribuer des rôles, et les rôles se voient attribuer des permissions.

Rôles : [Vendeur, Manager, Administrateur, Auditeur]
Utilisateur Jean : Vendeur, Manager
Utilisateur Marie : Administrateur
Permissions :
Vendeur → lire:fiche_client, écrire:commande
Manager → tout lire, approuver:commande
Administrateur → tout lire, tout écrire, gérer:utilisateurs
Auditeur → lire:tous (lecture seule)

Niveau 2 — RBAC Hiérarchique (Hierarchical RBAC)

Ajoute l’héritage de rôles. Si le rôle “Manager” hérite du rôle “Vendeur”, alors les permissions de “Vendeur” sont automatiquement incluses dans “Manager”.

Administrateur (toutes permissions)
Manager (lire tout, approuver)
Vendeur (lire client, écrire commande)

Niveau 3 — RBAC Contraint (Constrained RBAC)

Ajoute la Séparation des Devoirs (SoD) et les contraintes :

  • SoD statique (SSD) : Un utilisateur ne peut pas se voir attribuer des rôles en conflit
    • Exemple : Un utilisateur ne peut pas être à la fois “Créateur de commande” et “Approbateur de commande”
  • SoD dynamique (DSD) : Un utilisateur peut avoir des rôles en conflit mais ne peut pas les activer simultanément dans la même session
    • Exemple : Un utilisateur peut avoir les deux rôles mais doit choisir lequel utiliser pour chaque session

Niveau 4 — RBAC Symétrique (Symmetric RBAC)

Ajoute la révision et la vérification des rôles :

  • Capacité de lister tous les utilisateurs d’un rôle
  • Capacité de lister tous les rôles d’un utilisateur
  • Révision périodique des affectations de rôles

Ingénierie des Rôles

Approche Descendante (Top-Down)

L’approche descendante commence par les structures organisationnelles et métier :

Structure Organisationnelle → Fonctions Métier → Rôles → Permissions
│ │ │ │
Départements Tâches métier Rôles Droits
(Ventes, RH, (Vendre, nommés spécifiques
Finance, IT) Recruter, (Vendeur, sur les
Payer, RH, ressources
Développer) Manager)

Avantages : Aligné sur la structure métier, plus facile à expliquer aux auditeurs. Inconvénients : Peut manquer des permissions granulaires, risque de rôles trop larges.

Approche Ascendante (Bottom-Up)

L’approche ascendante commence par les permissions existantes et les regroupe en rôles :

Permissions Existantes → Regroupement → Rôles → Validation Métier
│ │ │ │
Droits actuels Clustering Nouveaux Vérification
sur les systèmes des permissions rôles par les métiers
(Acquis, hérités, similaires proposés (validation)
accumulés)

Avantages : Basé sur les permissions réelles, peut révéler des schémas inattendus. Inconvénients : Peut perpétuer des accès excessifs (creep), difficile à expliquer.

Approche Par Data Mining

Utilisation d’algorithmes de role mining pour découvrir automatiquement les rôles :

AlgorithmeApprocheAvantageInconvénient
Clustering (k-means)Regroupe les utilisateurs avec des permissions similairesSimple, rapideDéfini k à l’avance, clusters non interprétables
Frequent Itemset MiningTrouve les ensembles de permissions qui apparaissent fréquemment ensembleInterprétable, précisPeut créer des rôles très nombreux
NMF (Factorisation Matricielle Non-négative)Décompose la matrice utilisateur-permission en matrices rôle-utilisateur et permission-rôleRobuste, gère le bruitComplexe, nécessite réglage des paramètres
Role Mining hiérarchiqueConstruit une hiérarchie de rôles basée sur l’inclusion de permissionsCapture la hiérarchie naturelleComplexe à mettre en œuvre

Types de Rôles

Type de RôleDescriptionExempleCycle de Vie
Rôle fonctionnelBasé sur la fonction métierVendeur, Comptable, IngenieurLong (années)
Rôle organisationnelBasé sur la structureManager, Directeur, Chef d’équipeLong (années)
Rôle d’applicationBasé sur l’accès à une applicationUtilisateur SAP, Administrateur SalesforceMoyen (mois-années)
Rôle temporaireBasé sur un besoin temporaireAuditeur trimestriel, Administrateur de projetCourt (jours-mois)
Rôle d’urgenceAccès en cas d’urgenceBreak-glass, Administrateur d’urgenceTrès court (heures)
Rôle d’exceptionDéviation approuvée de la politiqueUtilisateur autorisé à contourner SoDVariable (documenté)

Pièges du RBAC

PiègeDescriptionSymptômeRemédiation
Explosion de rôlesTrop de rôles pour être gérables> 1000 rôles pour 10 000 utilisateursRole mining régulier, consolidation, rôles composites
Rôles orphelinsRôles créés mais plus attribués20% des rôles sans utilisateurDésactivation automatique, inventaire périodique
Rôles super-utilisateurRôles trop larges qui violent le moindre privilègeRôle avec 500+ permissionsAnalyse des permissions, création de rôles granulaires
Dérive des permissions (permission creep)Accumulation de permissions d’anciens rôlesUtilisateur a 5 rôles dont 3 obsolètesCertifications régulières, révision des rôles actifs
Chevauchement de rôlesPlusieurs rôles avec les mêmes permissions3 rôles qui donnent accès au même systèmeDétection de chevauchement, consolidation
Silos de rôlesRôles définis indépendamment par application”Admin SAP” ≠ “Admin Salesforce”Rôles d’entreprise abstraits, mapping d’application

Meilleures Pratiques RBAC

PratiqueDescriptionMesure
Gouvernance des rôlesProcessus défini pour créer, modifier, archiver les rôlesComité de validation des rôles mensuel
Certification des rôlesRévision périodique des rôles et de leurs permissionsCertification trimestrielle des rôles
Héritage limitéHiérarchie de rôles limitée à 3-4 niveaux maximumPas plus de 4 niveaux de profondeur
Documentation métierChaque rôle a une description métier claire100% des rôles documentés
Principe de moindre privilègeLes rôles accordent le minimum nécessaireAnalyse régulière des permissions inutilisées
Séparation des devoirsSoD statique et dynamique appliquée aux rôlesMatrice SoD avec prévention à la création

Points Clés à Retenir

  • La norme NIST RBAC (ANSI INCITS 359-2004) définit quatre niveaux : plat (utilisateur→rôle→permission), hiérarchique (héritage de rôles), contraint (SoD statique et dynamique), et symétrique (révision et audit bidirectionnels)
  • L’ingénierie des rôles peut être descendante (structure organisationnelle → rôles → permissions) ou ascendante (permissions existantes → regroupement → rôles) — l’approche par data mining (clustering, frequent itemset, NMF) automatise la découverte mais nécessite validation métier
  • Les pièges courants du RBAC incluent l’explosion de rôles (>1000 rôles non gérables), les rôles orphelins (sans utilisateur), les rôles super-utilisateur (trop larges), la dérive des permissions, le chevauchement de rôles et les silos d’application
  • Les meilleures pratiques incluent une gouvernance des rôles avec comité de validation mensuel, certification trimestrielle, hiérarchie limitée à 3-4 niveaux, documentation métier complète, moindre privilège, et SoD appliquée à la création des rôles
  • Le RBAC est le modèle le plus adapté pour la plupart des déploiements d’entreprise — il offre le meilleur équilibre entre simplicité de gestion, auditabilité et passage à l’échelle