Conception multi-locataire basée sur les clients d'application - Amazon Cognito

Conception multi-locataire basée sur les clients d'application

Avec une conception multilocataire basée sur des clients d'application, vous pouvez mapper un même utilisateur à plusieurs locataires sans avoir besoin de recréer son profil. Vous pouvez créer un client d'application pour chaque locataire et définir le fournisseur d'identité (IdP) externe du locataire comme unique fournisseur d'identité que ce client d'application peut utiliser. Pour plus d'informations, consultez Configuration d'un client d'application pour groupe d'utilisateurs.

L'interface utilisateur hébergée définit un cookie de session dans le navigateur afin de reconnaître un utilisateur déjà authentifié. Lorsque vous authentifiez des utilisateurs avec des comptes natifs dans un groupe d'utilisateurs avec plusieurs clients d'application, leur cookie de session les authentifie pour tous les clients d'application du même groupe d'utilisateurs. Les comptes natifs sont les comptes d'utilisateurs figurant dans l'annuaire du groupe d'utilisateurs, qui n'ont pas été créés par fédération avec un fournisseur d'identité tiers. Le cookie de session est valide pendant une heure. Vous ne pouvez pas modifier la durée du cookie de session.

Vous pouvez utiliser la conception multi-locataire basée sur les clients d'application dans les scénarios suivants :

  • Votre application a les mêmes configurations pour tous les locataires. Par exemple, les politiques de résidence des données et de mot de passe sont les mêmes pour tous les locataires.

  • Votre application dispose d'un mappage one-to-many entre l'utilisateur et les locataires. Par exemple, un seul utilisateur peut avoir accès à plusieurs locataires en utilisant le même profil.

  • Vous disposez d'une application multi-locataire uniquement à des fins de fédération dans laquelle les locataires utilisent toujours un fournisseur d'identité externe pour se connecter à votre application.

  • Vous disposez d'une application multi-locataire B2B et les services backend des locataires utilisent des informations d'identification client qui leur sont octroyées pour accéder à vos services. Dans ce cas, vous pouvez créer un client d'application pour chaque locataire et partager l'identifiant et le secret du client avec le service backend du locataire pour l'authentification de machine à machine.

Niveau d'effort

L'effort de développement lié à cette approche est élevé. Vous devez implémenter une logique de correspondance de locataire et une interface utilisateur pour faire correspondre un utilisateur au client d'application pour son locataire.