Sur la base de notre infrastructure cloud, nous avons conçu et exploitons une architecture microservices multi-tenant ainsi qu’une plateforme commune pour soutenir nos produits. Dans une architecture multi-tenant, un seul service dessert plusieurs clients, y compris les bases de données et les instances de calcul nécessaires à l’exécution de legal-i. Chaque service contient les données de plusieurs clients (mandants), mais les données de chaque mandant sont isolées et inaccessibles aux autres.
Nos microservices sont conçus selon le principe du moindre privilège et visent à minimiser l’impact des attaques zero-day ainsi que la probabilité de mouvements latéraux au sein de notre environnement cloud. Chaque microservice dispose de son propre espace de stockage de données, accessible uniquement via le protocole d’authentification spécifique à ce service. Cela signifie qu’aucun autre service n’a d’accès en lecture ou en écriture à cette API.
Nous avons mis l’accent sur l’isolation des microservices et des données, plutôt que sur la mise en place d’une infrastructure dédiée par client, car cela permet de limiter l’accès à une zone de données restreinte d’un système unique pour de nombreux clients. Grâce au découplage de la logique et à l’authentification ainsi qu’à l’autorisation des données au niveau de l’application, cela constitue une vérification de sécurité supplémentaire lors de l’envoi de requêtes à ces services. Ainsi, si un microservice est compromis, l’accès reste limité uniquement aux données nécessaires à ce service spécifique.