Passer au contenu principal

Comment l'isolation des données entre locataires est-elle mise en œuvre techniquement ?

amaise utilise une séparation logique multi-couches des locataires, qui s'applique dès l'entrée dans le système :

Écrit par amaise Support

Comment l'isolation des données entre locataires est-elle mise en œuvre techniquement ?

amaise utilise une séparation logique multi-couches des locataires, qui s'applique dès l'entrée dans le système :

  • Proxy d'entrée : l'identité du locataire est résolue dès la toute première entrée dans le système ; la clé de chiffrement par document du locataire en est sélectionnée. Seules les requêtes vérifiées avec une attribution valide du locataire peuvent accéder aux données de ce locataire — appliqué tout au long du cycle de vie de la requête.

  • Base de données (isolation des locataires au niveau des lignes, appliquée par l'application) : chaque enregistrement porte un ID de locataire et chaque requête est limitée au locataire authentifié. Cela est appliqué dans l'application et vérifié en continu par des tests inter-locataires automatisés dans notre pipeline CI et lors des revues de code. La Row-Level Security native de la base de données (Postgres RLS) est prévue comme couche de contrôle supplémentaire. Toutes les requêtes utilisent exclusivement des méthodes paramétrées et typées — ce qui empêche toute injection SQL par conception.

  • Stockage : Les données clients dans S3 sont chiffrées avec des clés KMS spécifiques à chaque locataire (CMK). Chaque locataire dispose de sa propre clé de chiffrement, définie dès l'attribution au proxy d'entrée.

  • Autorisation : Des contrôles d'accès basés sur les objets appliquent des règles (ACL) au niveau des documents, cas et autres entités — incluant la délégation et les durées d'expiration.

  • API : L'ID du locataire est extraite des claims JWT authentifiés. Chaque point d'accès applique un contrôle d'accès basé sur les rôles.

Ces contrôles d'autorisation sont vérifiés en continu par des tests automatisés ; une tentative d'accès inter-locataires est ainsi indiscernable d'une requête portant sur des données inexistantes — amaise ne révèle jamais si l'enregistrement d'un autre locataire existe.

De plus, les environnements régionaux (UE, US, CH) sont exploités dans des comptes AWS entièrement séparés, sans appairage réseau. Les données clients ne franchissent jamais une frontière de compte ; un petit nombre de rôles administratifs nommés peuvent être assumés depuis le compte central d’amaise, et chaque assomption est journalisée.

Avez-vous trouvé la réponse à votre question ?