用于授权的 AWS cognito 自定义用户角色

use*_*308 3 amazon-web-services amazon-cognito

AWS cognito 的文档建议了围绕 IAM 的所有角色。如何让我的应用程序(资源服务器)理解有意义的角色?

Rob*_*ese 5

我在我的应用程序中广泛使用了 AWS Cognito,我可以在这里尝试帮助您。

无论您说什么,都可以使用 Cognito。我相信您正在尝试找出一种模式来将您的应用程序角色映射到 Cognito/AWS IAM 角色。

池中的所有 Cognito 用户都可以隔离在不同的 Cognito 组中。文档在这里 -> https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html

每个 Cognito 用户组都必须映射到相应的 IAM 角色(您可以自定义的权限)。

现在,这些组需要与应用程序中的用户角色/组进行一对一映射。

可以通过两种不同的方式利用这些组。我们正在考虑 UI 层的设计模式(例如:AngularJS)-> AWS APi 网关-> RestAPI(Lambda/在 Beanstalk/container/Ec2/etc 中作为应用程序托管)

  1. UI 控件需要根据用户组进行显示。例如,超级管理员将看到所有链接和菜单,具有完全权限。但对于普通最终用户,有限的链接和菜单将是可见的。为了实现这一点,您可以使用 AngularJS 的一些插件(可能因您的情况而异)根据组信息来控制 UI 的呈现。

  2. API 层可以通过引入授权层来保护 API 层,将 API Gateway 的 Authorizer 配置设置为 IAM/Cognito。因此,在请求到达后端托管的 API 之前,API 网关会检查请求的用户组是否具有访问 API 的权限。

我希望这有帮助。