Role-Based Access Control (RBAC) : Définition, Exemples, Best Practices

RBAC accorde des permissions à des rôles, puis assigne utilisateurs aux rôles. Scale mieux que permissions per-user ; fondamental pour IAM moderne.

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

ConceptDescription
UtilisateurUne identité
RôleCollection nommée de permissions
PermissionUne action permise sur une ressource
Assignment rôleLier utilisateur à rôle
Hiérarchie rôleRôles peuvent hériter d'autres
ConstraintsRè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èleDécision basée surMeilleur pour
RBACRôle(s) utilisateurLa plupart des apps
ABACAttributsPolicies fine-grained dynamiques
ACLPermissions per-ressourcePeu de ressources
PBACEngine policy centraliséModerne, découplé

RBAC dans systèmes majeurs

SystèmeImplémentation RBAC
AWS IAMRôles + policies managed
KubernetesRoles, ClusterRoles, RoleBindings
Azure RBACBuilt-in + custom rôles
Google Cloud IAMPrédéfinis + custom rôles
GitHubRôles org/repo + teams
SlackRôles workspace + channel
SalesforceProfiles + 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.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×