ANALYSE / Applications web / Sécurité / Architecture / SaaS

Rôles, droits d'accès et multi-tenant dans une application web : bien les concevoir

Qui voit quoi et qui peut faire quoi détermine la sécurité et la scalabilité d'un produit. Modèles d'accès, multi-tenant et journal d'audit expliqués.

Au début d'un projet, on imagine deux rôles : « admin » et « utilisateur ». Six mois plus tard arrivent commerciaux, comptables, partenaires externes, clients accédant à leurs propres données, et les droits commencent à être codés au cas par cas. C'est ainsi que naissent failles et bugs. Le modèle d'accès mérite d'être conçu en amont ; c'est l'une des tâches de base du développement d'applications web.

En bref : séparez deux axes : à quelles données l'utilisateur accède (tenant, organisation, projet) et quelles actions il peut effectuer (rôle et droits). Vérifiez les droits côté serveur à chaque requête et journalisez les actions importantes.

Multi-tenant : à qui appartiennent les données

Si plusieurs entreprises utilisent le produit, les données de chacune doivent être cloisonnées. Les principales approches :

ApprocheFonctionnementQuand l'utiliser
Base partagée avec ID de tenantChaque enregistrement porte l'ID de l'organisationLa plupart des SaaS, démarrage rapide
Schéma par tenantUn jeu de tables par clientExigences d'isolation renforcées
Base par tenantIsolation complèteGrands comptes, exigences réglementaires

Modèles de droits

  • RBAC (par rôles) : des rôles avec des ensembles de droits : propriétaire, admin, gestionnaire, lecteur. Simple et lisible.
  • Droits par ressource : voir, créer, modifier, supprimer par section ; plus souple, idéal pour CRM et back-offices.
  • Règles par attributs (ABAC) : l'accès dépend de propriétés, par exemple « un commercial ne voit que ses affaires ». Puissant mais plus lourd à maintenir.

Ce qu'il faut prévoir dès le départ

  1. Un ID d'organisation dans chaque table métier.
  2. Une vérification des droits côté serveur, pas seulement des boutons masqués.
  3. Des invitations avec rôle et lien à durée limitée.
  4. Un journal d'audit : qui a modifié quoi et quand.
  5. Des droits spécifiques pour l'export et la suppression de données.

Erreurs fréquentes

  • Droits vérifiés uniquement côté front : l'API est ouverte à tout utilisateur connecté.
  • Identifiants séquentiels non contrôlés quant à l'organisation propriétaire.
  • Rôles codés en dur, impossibles à configurer.
  • Aucun journal d'actions : impossible d'analyser un incident.

Questions fréquentes

Peut-on ajouter le multi-tenant plus tard ?

Oui, mais à grands frais : migration des données et réécriture des requêtes. Si le produit doit servir plusieurs entreprises, prévoyez-le dès le départ.

Faut-il l'authentification unique (SSO) ?

Souvent pour les clients grands comptes, mais elle peut attendre dans le MVP. Voir notre article sur les priorités d'un MVP SaaS.

Quel lien avec le CRM ?

Les droits par ressource sont l'ossature de tout CRM : les commerciaux voient leurs affaires, les responsables leur service. Nous utilisons le même modèle dans nos systèmes CRM/ERP et connectons les données d'autres services via des API.

Vous concevez un produit avec rôles et espaces clients ? Envoyez votre demande sur la page applications web : nous concevrons le modèle de données, d'accès et d'audit avant le développement.

Envoyer une demande