Ingénierie logicielle
Construire une plateforme SaaS multi-tenant sécurisée pour les entreprises algériennes
Comparer les modèles d’isolation et protéger l’identité, les données, les fichiers, les caches, les journaux, les sauvegardes et les opérations de support.

Réponse directe
Ce que les décideurs doivent retenir
Une plateforme SaaS multi-tenant est sécurisée lorsque l’identité, les autorisations et le contexte du tenant sont appliqués à chaque couche: API, données, fichiers, caches, files, journaux, sauvegardes et support. L’authentification seule ne garantit pas l’isolation. Le modèle partagé, par schéma, par base ou hybride doit correspondre au risque et rester testable.
Synthèse exécutive
- Le tenant doit être dérivé d’une identité vérifiée, jamais accepté aveuglément depuis un paramètre client.
- L’isolation doit couvrir toutes les ressources, pas uniquement les lignes de la base de données.
- Les modèles pool, silo et hybrides échangent coût, complexité, performance et niveau d’isolation.
- Des tests automatisés entre deux tenants sont nécessaires après chaque changement sensible.
Multi-tenant ne veut pas dire base partagée
Le multi-tenant est un modèle dans lequel une plateforme sert plusieurs organisations clientes avec une expérience et une exploitation communes. Les ressources peuvent être partagées, séparées ou combinées. Le critère déterminant est qu’un tenant ne puisse ni voir, ni modifier, ni perturber les ressources d’un autre tenant.
AWS distingue l’authentification et l’autorisation fonctionnelle de l’isolation tenant. Un utilisateur peut être correctement connecté et autorisé à consulter des commandes, mais accéder aux commandes d’une autre entreprise si le contexte tenant n’est pas imposé. L’isolation est donc un contrôle supplémentaire et transversal.
Pratique de référence
AWS et OWASP décrivent l’isolation tenant comme un mécanisme explicite, distinct de la seule authentification, qui doit s’appliquer aux données et ressources partagées.
Choisir un modèle d’isolation
La décision peut varier par ressource. Une plateforme peut partager le calcul, séparer les bases des tenants sensibles et isoler les fichiers par préfixes et politiques. Le niveau choisi doit répondre aux exigences contractuelles, au volume, au risque de voisin bruyant, aux sauvegardes et au modèle commercial.
| Modèle | Avantage | Risque ou coût |
|---|---|---|
| Pool partagé | Efficacité et exploitation uniforme | Filtrage et tests très rigoureux |
| Schéma par tenant | Séparation logique plus forte | Migrations et grand nombre de schémas |
| Base par tenant | Isolation et restauration ciblées | Coût et orchestration accrus |
| Silo complet | Frontière forte et personnalisation | Opérations et capacité coûteuses |
| Hybride | Niveaux selon risque ou offre | Gouvernance et cohérence complexes |
Établir le contexte tenant une seule fois, puis le propager
Le contexte doit être établi au début de la requête à partir du domaine, de l’organisation liée à la session ou d’un jeton signé. Une valeur tenant_id envoyée par le navigateur ne doit jamais être considérée comme fiable sans validation contre l’identité et les autorisations.
Propagez le contexte vers les services, requêtes, événements et journaux avec une convention contrôlée. Les tâches asynchrones doivent transporter un contexte signé ou retrouver le tenant depuis une référence interne. Les opérations d’administration globale nécessitent un chemin séparé, explicite et audité.
Appliquer la frontière à chaque couche
- Base: imposer tenant_id dans les clés, contraintes, politiques ou connexions, avec défense en profondeur.
- API: vérifier la propriété tenant de chaque ressource, y compris les exports et recherches globales.
- Fichiers: séparer préfixes, autorisations, liens signés et processus de suppression.
- Cache: inclure le tenant dans chaque clé et éviter les résultats partagés sans contrôle.
- Files: transporter le contexte et empêcher un worker de mélanger les messages.
- Recherche: filtrer avant la récupération, y compris dans les index vectoriels.
- Journaux: conserver le contexte pour l’audit sans exposer de données sensibles.
- Sauvegardes: définir restauration, export, rétention et suppression par tenant.
Le support est une surface d’accès privilégiée
Les outils d’impersonation ou de support peuvent contourner les frontières ordinaires. Limitez-les à des rôles dédiés, imposez une justification, une durée courte, une approbation selon le risque et un journal consultable. Ne demandez jamais les mots de passe du client.
Les exports de diagnostic, captures et copies de bases doivent respecter la même classification. Un environnement de test ne doit pas recevoir des données de production par défaut. Les équipes de support ont besoin de vues minimales et de procédures de purge.
Protéger aussi la disponibilité entre tenants
L’isolation concerne la confidentialité, mais aussi la capacité. Un tenant peut saturer une file, une API, une base ou un traitement et dégrader tous les autres. Appliquez quotas, limites, files séparées ou priorités selon le niveau de service. Mesurez l’usage par tenant et alertez sur les écarts.
La limite ne doit pas seulement retourner une erreur. Elle doit expliquer l’état, permettre une reprise et protéger les opérations essentielles. Les tâches lourdes peuvent être asynchrones et isolées du trafic interactif.
Tester la frontière comme une propriété du système
- Créer deux tenants avec données distinctes et tenter chaque lecture ou modification croisée.
- Tester les identifiants devinables, filtres omis, exports, recherches et endpoints administratifs.
- Vérifier les collisions de cache, fichiers, files et identifiants externes.
- Répéter après changements de requête, migration, optimisation de cache ou nouveau service.
- Alerter sur toute tentative d’accès croisé et conserver une preuve sans données sensibles.
Exemple anonymisé: plateforme wholesale multi-marques
Une plateforme B2B sert plusieurs marques. Les produits, prix et clients portent un tenant_id, mais le cache du catalogue utilise seulement l’identifiant produit. Deux tenants peuvent employer la même référence et recevoir un résultat incorrect malgré des requêtes SQL filtrées.
La correction ajoute le tenant à toutes les clés de cache, centralise le contexte, renforce les contraintes, sépare les fichiers et crée une suite de tests croisés. Le risque montre pourquoi l’isolation doit être évaluée au-delà de la base principale.
Analyse Atlas
Le scénario est anonymisé et composite. Il illustre une classe de défaut documentée par les guides de sécurité multi-tenant.
What decision-makers should do next
Actions recommandées
- 01Cartographier toutes les ressources qui portent ou déduisent un contexte tenant.
- 02Choisir et documenter le modèle pool, schéma, base, silo ou hybride par ressource.
- 03Centraliser l’établissement et la validation du contexte tenant.
- 04Créer une suite de tests croisés couvrant API, base, fichiers, cache, files et recherche.
- 05Auditer les accès support, les sauvegardes, l’offboarding et les limites de capacité.
What to watch
- Les optimisations de cache ou de recherche qui retirent involontairement un filtre tenant.
- Les nouvelles fonctions d’administration, d’export ou d’IA qui contournent les chemins ordinaires.
- La concentration de charge et les tenants qui dégradent les ressources partagées.
Questions fréquentes
L’authentification garantit-elle l’isolation tenant?
Non. Elle confirme une identité. Le système doit encore limiter chaque accès aux ressources du tenant autorisé, dans toutes les couches.
Faut-il une base par client?
Pas toujours. Le choix dépend du risque, de la conformité, du volume, des sauvegardes, du coût et de l’exploitation. Un modèle partagé peut être sûr avec des contrôles rigoureux.
Comment tester une fuite inter-tenant?
Provisionnez au moins deux tenants, créez des données distinctes et tentez des accès croisés sur chaque API, export, recherche, fichier, cache et tâche asynchrone.
Sources et vérification
Dernière vérification éditoriale: 4 août 2026. Les liens pointent vers les textes, autorités et guides de référence consultés.
- 01SaaS Tenant Isolation Strategies
Amazon Web Services. Consulté le 4 août 2026.
- 02Multi-Tenant Application Security Cheat Sheet
OWASP Foundation. Consulté le 4 août 2026.
- 03SaaS Architecture Fundamentals: Tenant isolation
Amazon Web Services. Consulté le 4 août 2026.
- 04Loi no 18-07 du 10 juin 2018
Journal officiel de la République algérienne. Consulté le 4 août 2026.
- 05Loi no 25-11 du 24 juillet 2025
Journal officiel de la République algérienne. Consulté le 4 août 2026.
