DEAYUSENGINEERING
Sécurité5 min

Séparer les rôles et les permissions

Pourquoi un système d'autorisations doit aller au-delà de simples rôles fixes.

Le rôle ne décrit pas toujours l'action

Un rôle représente généralement une fonction générale dans le système :

  • Administrateur ;
  • Manager ;
  • Utilisateur.

Une permission décrit une capacité précise :

  • consulter les utilisateurs ;
  • gérer les membres ;
  • consulter les appartenances ;
  • modifier une organisation.

Pourquoi les séparer ?

Tester directement les rôles dans toute l'application crée progressivement des règles rigides.

Avec des permissions, le code métier vérifie la capacité nécessaire sans dépendre de la manière dont les rôles sont organisés.

Exemple

Un Manager peut disposer des permissions de lecture des utilisateurs et des membres sans recevoir les permissions d'administration.

Le rôle reste compréhensible pour l'utilisateur tandis que la permission reste précise pour le backend.

Conclusion

Les rôles facilitent l'administration.

Les permissions facilitent l'évolution et la précision du contrôle d'accès.