Isolement des locataires - Principes fondamentaux de l'architecture SaaS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Isolement des locataires

Plus vous ferez passer les clients à un modèle multi-tenant, plus ils seront préoccupés par la possibilité qu'un locataire accède aux ressources d'un autre locataire. Les systèmes SaaS incluent des mécanismes explicites qui garantissent que les ressources de chaque locataire, même si elles s'exécutent sur une infrastructure partagée, sont isolées.

C'est ce que nous appelons l'isolement des locataires. L'idée qui sous-tend l'isolation des locataires est que votre architecture SaaS introduit des structures qui contrôlent étroitement l'accès aux ressources et bloquent toute tentative d'accès aux ressources d'un autre locataire.

Notez que l'isolement des locataires est distinct des mécanismes de sécurité généraux. Votre système prendra en charge l'authentification et l'autorisation ; toutefois, le fait qu'un utilisateur locataire soit authentifié ne signifie pas que votre système est parvenu à s'isoler. L'isolation est appliquée séparément de l'authentification et de l'autorisation de base qui peuvent faire partie de votre application.

Pour mieux comprendre cela, imaginez que vous ayez utilisé un fournisseur d'identité pour authentifier l'accès à votre système SaaS. Le jeton issu de cette expérience d'authentification peut également inclure des informations sur le rôle d'un utilisateur qui peuvent être utilisées pour contrôler l'accès de cet utilisateur à une fonctionnalité d'application spécifique. Ces constructions assurent la sécurité, mais pas l'isolation. En fait, un utilisateur peut être authentifié et autorisé, tout en continuant à accéder aux ressources d'un autre locataire. Rien en matière d'authentification et d'autorisation ne bloquera nécessairement cet accès.

L'isolation des locataires se concentre exclusivement sur l'utilisation du contexte des locataires pour limiter l'accès aux ressources. Il évalue le contexte du locataire actuel et utilise ce contexte pour déterminer quelles ressources sont accessibles pour ce locataire. Il applique cette isolation à tous les utilisateurs de ce tenant.

Cela devient de plus en plus difficile à mesure que nous examinons comment l'isolation des locataires est réalisée dans les différents modèles d'architecture SaaS. Dans certains cas, l'isolation peut être réalisée en consacrant des piles entières de ressources à un locataire, alors que des politiques réseau (ou plus grossières) empêchent l'accès entre locataires. Dans d'autres scénarios, vous pouvez avoir regroupé des ressources (éléments d'un tableau Amazon DynamoDB) qui nécessitent des politiques plus précises pour contrôler l'accès aux ressources.

Toute tentative d'accès à une ressource locataire doit être limitée aux ressources qui appartiennent à ce locataire. Il incombe aux développeurs et aux architectes SaaS de déterminer quelle combinaison d'outils et de technologies répondra aux exigences d'isolation de votre application spécifique.