DEAYUSENGINEERING
Architecture6 min

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 :

  1. que l'organisation existe ;
  2. que l'utilisateur est authentifié ;
  3. que l'utilisateur appartient à l'organisation ;
  4. 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.