Contrôle d'accès basé sur les rôles (RBAC)
Qu'est-ce que Contrôle d'accès basé sur les rôles (RBAC) ?
Contrôle d'accès basé sur les rôles (RBAC)Modèle d'autorisation qui attribue les permissions à des rôles plutôt que directement aux utilisateurs, ces derniers héritant des accès via l'attribution de rôles.
Le contrôle d'accès basé sur les rôles affecte des permissions à des rôles abstraits (par exemple "admin-facturation" ou "auditeur en lecture seule") et accorde aux utilisateurs un accès en les ajoutant à ces rôles. Cette indirection simplifie l'administration, soutient la séparation des tâches et facilite les audits, car les permissions sont documentées par rôle plutôt que par utilisateur. RBAC est le modèle dominant en IAM d'entreprise, sur les plateformes cloud (AWS IAM, Azure RBAC, Kubernetes RBAC) et dans les ERP.
RBAC a été formalisé par David Ferraiolo et Rick Kuhn, du NIST, dans leur article de 1992 « Role-Based Access Controls », puis unifié avec le cadre de Sandhu et normalisé sous la référence ANSI/INCITS 359-2004 (révisée en INCITS 359-2012). La norme définit quatre composants cumulatifs : RBAC cœur (utilisateurs–rôles–permissions), RBAC hiérarchique (les rôles héritent des rôles supérieurs) et deux formes de RBAC contraint — séparation statique et dynamique des tâches (SSD/DSD) — qui bloquent les combinaisons de permissions toxiques, comme un même utilisateur créant et approuvant un paiement.
Sa principale faiblesse est l'explosion des rôles : dans les grandes organisations, coder chaque besoin métier fin comme un rôle distinct produit des milliers de rôles quasi identiques et ingérables. D'où des conceptions hybrides ABAC/RBAC, où les rôles fixent une base grossière et les attributs (service, heure, étiquette de ressource) affinent chaque décision — le schéma derrière les clés de condition d'AWS IAM et le modèle RBAC-plus-admission-webhook de Kubernetes.
flowchart LR
U["Utilisateur : Alice"] -->|affectée à| R1["Rôle : admin-facturation"]
U -->|affectée à| R2["Rôle : auditeur"]
R1 -->|hérite de| R3["Rôle : lecteur-facturation"]
R1 -->|accorde| P1["Permission : créer facture"]
R3 -->|accorde| P2["Permission : lire facture"]
R2 -->|accorde| P3["Permission : exporter journaux"]
P1 --> RES[("Système de facturation")]
P2 --> RES
P3 --> RES
SSD["Contrainte SSD :<br/>ni approbateur ni créateur à la fois"] -. bloque .-> R1● Exemples
- 01
Un ClusterRole Kubernetes autorisant la liste des pods, lié au groupe "sre".
- 02
Un rôle AWS IAM accordant un accès en lecture seule à EC2, assumé par un pipeline CI/CD.
● Questions fréquentes
Qu'est-ce que Contrôle d'accès basé sur les rôles (RBAC) ?
Modèle d'autorisation qui attribue les permissions à des rôles plutôt que directement aux utilisateurs, ces derniers héritant des accès via l'attribution de rôles. Cette notion relève de la catégorie Identité et accès en cybersécurité.
Que signifie Contrôle d'accès basé sur les rôles (RBAC) ?
Modèle d'autorisation qui attribue les permissions à des rôles plutôt que directement aux utilisateurs, ces derniers héritant des accès via l'attribution de rôles.
Comment se défendre contre Contrôle d'accès basé sur les rôles (RBAC) ?
Les défenses contre Contrôle d'accès basé sur les rôles (RBAC) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Contrôle d'accès basé sur les rôles (RBAC) ?
Noms alternatifs courants : RBAC.