Prácticas recomendadas para la multitenencia de grupos de usuarios - Amazon Cognito

Prácticas recomendadas para la multitenencia de grupos de usuarios

La multitenencia basada en grupos funciona mejor cuando la arquitectura requiere grupos de usuarios de Amazon Cognito con grupos de identidades.

Los tokens de ID y acceso del grupo de usuarios contienen una notificación cognito:groups. Además, los tokens de ID contienen notificaciones cognito:roles y cognito:preferred_role. Cuando el resultado principal de la autenticación en su aplicación sea la obtención de credenciales temporales de AWS de un grupo de identidades, la pertenencia a un grupo de usuarios puede determinar el rol de IAM y los permisos que reciban.

Como ejemplo, pensemos en tres inquilinos, cada uno de los cuales almacena recursos de aplicaciones en su propio bucket de Amazon S3. Asigne los usuarios de cada inquilino a un grupo asociado, configure un rol preferido para el grupo y otorgue a ese rol acceso de lectura a su bucket.

En el siguiente diagrama, se muestran inquilinos que comparten un cliente de aplicación y un grupo de usuarios, con grupos específicos del grupo de usuarios que determinan si cumplen los requisitos para un rol de IAM.

Diagrama de modelo multitenencia de varios a uno en el que cada inquilino tiene su propio grupo de usuarios en un grupo de usuarios compartido.
Cuándo implementar la multitenencia de grupo

Cuando el acceso a los recursos de AWS sea el principal objetivo. Los grupos incluidos en los grupos de usuarios de Amazon Cognito son un mecanismo de control de acceso basado en roles (RBAC). Puede configurar numerosos grupos en un grupo de usuarios y tomar decisiones complejas sobre el RBAC con prioridad de grupo. Los grupos de identidades pueden asignar credenciales al rol con mayor prioridad, a cualquier rol del grupo o a partir de otras notificaciones en tokens de un usuario.

Nivel de esfuerzo

El nivel de esfuerzo para mantener la multitenencia solo con la pertenencia a un grupo es bajo. Sin embargo, para ampliar el rol de los grupos incluidos en los grupos de usuarios más allá de la capacidad integrada de selección de roles de IAM, debe crear una lógica de aplicación que procese la pertenencia a los grupos en los tokens de los usuarios y determine qué hacer en el cliente. Puede integrar Amazon Verified Permissions con las aplicaciones para tomar decisiones de autorización del cliente. Los identificadores de grupo no se procesan actualmente en las operaciones de la API IsAuthorizedWithToken de Verified Permissions, pero puede desarrollar un código personalizado que analice el contenido de los tokens, incluidas las notificaciones de pertenencia a grupos.