Aller au contenu principal

RBAC rôle + périmètre

Statut

Document de cadrage sécurité — version initiale.

Définition

Le RBAC DMV ne doit pas se limiter à un rôle global. Il doit combiner :

  • un rôle ;
  • un périmètre ;
  • une ressource ;
  • une action.

Exemple : un utilisateur peut être contributeur d'un acteur précis sans être contributeur global de toute la plateforme.

État actuel visible

Le code et les migrations montrent :

  • une table ou logique de rôles utilisateurs ;
  • une méthode isAdmin() côté profil ;
  • des rattachements user_acteurs ;
  • des policies qui utilisent la propriété d'acteur ;
  • des règles RLS historiques liées à users_roles, profiles, user_acteurs et auth.uid() ;
  • des middlewares dédiés pour mairie, association, admin et device PlayLoop.

Rôles de référence

RôlePérimètre typeResponsabilité
UtilisateurSon compteConsultation, favoris, interactions autorisées.
ContributeurActeur, association ou commune rattachéePublication ou gestion selon droits accordés.
OpérateurDomaine ou backoffice limitéTraitement opérationnel selon scope.
Validateur localCommune, territoire ou acteurValidation de contenus ou demandes dans un périmètre.
MairieCommune ou acteur mairieServices communaux, alertes, publications mairie.
Admin globalPlateformeAdministration transverse et actions sensibles.

Ces rôles sont des repères de cadrage. Leur implémentation exacte doit rester alignée avec le code.

Scopes nécessaires

ScopeUsage
Compte utilisateurDonnées personnelles, favoris, préférences.
ActeurMini-site, publications, documents, abonnement.
AssociationMembres, cotisations, projets, communication interne.
CommuneAlertes, services communaux, informations mairie.
ApplicationDMV, backoffice, PlayLoop, AssoSuite, Mairie.
GlobalAdministration plateforme, sécurité, support.

Règles de conception

  • Aucun rôle large ne doit être créé sans justification.
  • Les droits d'administration doivent être limités au besoin réel.
  • Les scopes doivent être vérifiés côté backend.
  • Les droits temporaires doivent avoir une date de fin si le besoin existe.
  • Les changements de rôle ou de rattachement doivent être auditables.
  • Les droits hérités doivent être documentés pour éviter les surprises.

Matrice cible simplifiée

ActionUtilisateurContributeurMairieAdmin global
Modifier son profilOuiOuiOuiOui
Modifier un acteurNonSi rattachéSi acteur mairie rattachéOui
Publier pour un acteurNonSelon droitSelon droit mairieOui
Gérer les rôlesNonNonÀ définir par scopeOui
Modérer globalementNonNonNon, sauf délégation localeOui
Gérer une alerte mairieNonNonSi commune autoriséeOui

Vision cible

La cible est un système RBAC maintenable :

  • rôles métier documentés ;
  • permissions explicites ;
  • scopes territoriaux et acteurs ;
  • règles réutilisables dans les modules ;
  • tests sur les cas critiques ;
  • audit logs pour les changements de droits.

Points à clarifier

  • Liste finale des rôles métier.
  • Différence exacte entre opérateur, validateur local et responsable local.
  • Droits spécifiques des communes et mairies.
  • Délégations possibles à des contributeurs.
  • Interface de gestion des permissions.