Prácticas recomendadas para la multitenencia de clientes de aplicación
Cree un cliente de aplicación por cada inquilino de su aplicación. Con la multitenencia de clientes de aplicación, puede asignar cualquier usuario a clientes de aplicación vinculados a inquilinos y retener al mismo tiempo un perfil de usuario único. Dado que puede asignar uno o todos los proveedores de identidades (IdP) de su grupo de usuarios a un cliente de aplicación, el cliente de aplicación de un inquilino puede permitir el inicio de sesión con un IdP específico del inquilino. Cuando hay usuarios en varios inquilinos, puede vincular sus perfiles con varios IdP para ofrecer una experiencia de usuario coherente.
En el siguiente diagrama, se muestra cada inquilino con un cliente de aplicación dedicado en un grupo de usuarios compartido.
![Diagrama de un modelo multitenencia de uno a uno en el que cada inquilino tiene su propio cliente de aplicación en un grupo de usuarios compartido.](images/multi-tenancy-app-client.png)
Cuándo implementar la multitenencia de clientes de aplicación
Cuando pueda elegir una configuración universal para los ajustes del grupo de usuarios, como los desencadenadores de Lambda, la política de contraseñas y el contenido y los métodos de entrega de los mensajes de correo electrónico y SMS. Dado que los usuarios de un grupo de usuarios compartido pueden iniciar sesión en cualquier cliente de aplicación, la multitenencia de clientes de aplicación es ideal para iniciar sesión con IdP específicos de cada cliente de aplicación o con la API de grupos de usuarios de Amazon Cognito. La multitenencia de clientes de aplicación también es adecuada en entornos de uno a varios en los que se quiera permitir a los usuarios moverse entre varias aplicaciones.
Nivel de esfuerzo
La multitenencia de clientes de aplicación requiere un esfuerzo moderado. Uno de los principales retos que plantea la multitenencia de clientes de aplicación es la posibilidad de que los inquilinos presenten una cookie de interfaz de usuario alojada y cambien de una aplicación a otra. En una arquitectura multitenencia de cliente de aplicación, evite el inicio de sesión en una interfaz de usuario alojada cuando sea necesario mantener el aislamiento. Puede distribuir su aplicación móvil o los enlaces a su aplicación web con la lógica del cliente de aplicación integrada, o puede crear elementos de interfaz de usuario iniciales que determinen la tenencia de los usuarios. El nivel de esfuerzo es menor porque no es necesario estandarizar ni mantener la configuración en varios grupos de usuarios y grupos de identidades.