Concevoir une architecture multi-tenant
Principes utilisés pour isoler les organisations, leurs membres et leurs données.
Qu'est-ce qu'une architecture multi-tenant ?
Une architecture multi-tenant permet à plusieurs organisations d'utiliser la même application tout en conservant une séparation logique de leurs données.
Dans ce modèle, l'infrastructure et le code peuvent être partagés, mais les ressources métiers doivent toujours rester rattachées à un tenant précis.
Identifier le tenant actif
Dans Deayus ERP, le tenant actif est transmis aux endpoints concernés.
Le backend vérifie ensuite :
- que l'organisation existe ;
- que l'utilisateur est authentifié ;
- que l'utilisateur appartient à l'organisation ;
- qu'il dispose des permissions nécessaires.
Ne pas faire confiance au client
Le tenant transmis par le frontend ne doit jamais être accepté sans vérification.
Le backend reste responsable de contrôler l'appartenance de l'utilisateur avant toute lecture ou modification de données.
Conclusion
Le multi-tenant ne consiste pas seulement à ajouter un identifiant d'organisation aux tables.
Il nécessite une stratégie cohérente d'isolation, d'autorisation et de validation sur l'ensemble de l'application.