La documentación de AWS cognito sugiere todos los roles en torno a IAM. ¿Cómo hacer un papel significativo que entienda mi aplicación (servidor de recursos)?
He usado AWS Cognito ampliamente en mis aplicaciones y puedo intentar ayudarlo aquí.
Lo que sea que estés diciendo es posible usando Cognito. Creo que está tratando de encontrar un patrón para asignar los roles de su aplicación a los roles de IAM de Cognito/AWS.
Todos los usuarios de Cognito en el grupo se pueden segregar en diferentes Grupos de Cognito. la documentación está aquí -> https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html
Cada grupo de usuarios de Cognito debe asignarse con el rol de IAM correspondiente (permisos que puede personalizar).
Ahora, estos grupos deben tener un mapeo uno a uno con el rol/grupo de usuario en la aplicación.
Estos grupos se pueden aprovechar de 2 maneras diferentes. Estamos considerando el patrón de diseño con capa de interfaz de usuario (p. ej., AngularJS) -> AWS APi Gateway -> RestAPI (Lambda/alojado como una aplicación en Beanstalk/container/Ec2/etc.)
Los controles de la interfaz de usuario deben mostrarse de acuerdo con el grupo de usuarios. Por ejemplo, un superadministrador verá todos los enlaces y menús con todos los privilegios. Pero para el usuario final normal, los enlaces y menús limitados serán visibles. Para lograr esto, puede usar algunos de los complementos para AngularJS (puede ser diferente en su caso) para controlar la representación de la interfaz de usuario en función de la información del grupo.
La capa de API se puede proteger introduciendo una capa de autorización configurando la configuración del Autorizador de API Gateway como IAM/Cognito. Entonces, antes de que una solicitud llegue a la API alojada en el back-end, la puerta de enlace API verificará si el grupo de usuarios solicitado tiene permiso para acceder a la API.
Espero que esto ayude.
No estoy muy seguro de lo que quiere decir, pero los roles son para acceder a los recursos de AWS. Cognito se puede utilizar con un grupo de identidades para otorgar credenciales temporales a los recursos de AWS. Esto significa que puede colocar su servidor/instancia ec2 detrás de una puerta de enlace API configurada con autenticación IAM y crear un rol autenticado en su grupo de identidades que permita llamadas HTTP a su API GW.