Qu'est-ce que Role-Based Access Control (RBAC) ?
Role-Based Access Control (RBAC) est un modèle de contrôle d'accès où les permissions sont accordées à des rôles (ex. "admin", "editor", "viewer") et les utilisateurs sont assignés à des rôles. Au lieu d'accorder des permissions à chaque utilisateur individuellement, vous les accordez à des rôles, puis vous mettez utilisateurs dans des rôles.
RBAC est le fondement de l'IAM moderne.
Concepts core RBAC
| Concept | Description |
|---|---|
| Utilisateur | Une identité |
| Rôle | Collection nommée de permissions |
| Permission | Une action permise sur une ressource |
| Assignment rôle | Lier utilisateur à rôle |
| Hiérarchie rôle | Rôles peuvent hériter d'autres |
| Constraints | Règles limitant assignment rôle |
Exemple : RBAC app SaaS
# Rôles
admin: [users.create, users.delete, billing.view, billing.edit]
editor: [content.create, content.edit, content.publish]
viewer: [content.view]
# Assignments utilisateur
alice@example.com: [admin]
bob@example.com: [editor]RBAC vs ABAC vs ACL
| Modèle | Décision basée sur | Meilleur pour |
|---|---|---|
| RBAC | Rôle(s) utilisateur | La plupart des apps |
| ABAC | Attributs | Policies fine-grained dynamiques |
| ACL | Permissions per-ressource | Peu de ressources |
| PBAC | Engine policy centralisé | Moderne, découplé |
RBAC dans systèmes majeurs
| Système | Implémentation RBAC |
|---|---|
| AWS IAM | Rôles + policies managed |
| Kubernetes | Roles, ClusterRoles, RoleBindings |
| Azure RBAC | Built-in + custom rôles |
| Google Cloud IAM | Prédéfinis + custom rôles |
| GitHub | Rôles org/repo + teams |
| Slack | Rôles workspace + channel |
| Salesforce | Profiles + permission sets |
Exemple Kubernetes RBAC
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: production
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]Best practices RBAC
- Least privilege.
- Separation of duties.
- Limiter le compte de rôles.
- Utiliser hiérarchie rôle avec soin.
- Auditer assignments rôle trimestriellement.
- Documenter chaque rôle.
- Éviter sprawl "super admin".
- Utiliser groupes pour assignment.
- Élévation just-in-time.
- Logger changements rôle.
Pièges RBAC courants
- Explosion rôles.
- Permission creep.
- Trop peu de rôles.
- Rôles liés à job titles.
- Assignments rôle oubliés.
- Role-based mais ACLs underneath.
- Pas d'audit trail.
- Checks rôle hardcoded.
RBAC vs autres patterns autorisation
Quand RBAC est suffisant
- Rôles prédictibles
- Permissions ne dépendent pas d'attributs ressource
- 10-50 rôles distincts entrent dans votre org
Quand vous avez besoin d'ABAC à la place
- Permissions dépendent d'attributs
- SaaS multi-tenant
- Fine-grained
- Accès conditionnel nécessaire
FAQ : RBAC
RBAC vs ABAC : lequel utiliser ?
RBAC pour rôles clairs. ABAC pour fine-grained.
Combien de rôles sont trop ?
10-30 est le sweet spot.
Devrais-je utiliser Kubernetes RBAC ou service mesh ?
Les deux.
Qu'est-ce que la hiérarchie rôle ?
Les rôles peuvent hériter d'autres rôles.
Comment migrer d'ACLs à RBAC ?
Identifier patterns d'accès courants, grouper en rôles.
Les rôles sont-ils la même chose que les groupes ?
Parfois utilisés interchangeablement.
Comment RBAC se rapporte-t-il à SSO ?
SSO authentifie. RBAC autorise.
Testez les APIs RBAC-protégées avec LoadFocus
LoadFocus exécute des scripts JMeter et k6 qui simulent des utilisateurs avec différents rôles. Inscrivez-vous sur loadfocus.com/signup.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.