首页 > 解决方案 > 具有授权的 AWS Cognito 用户(如何从应用程序将用户添加到用户组?)

问题描述

我正在构建一个应用程序,前端有 react,后端有 aws dynamodb + labmda 来保存数据。我正在使用放大来处理用户身份验证,但我正在努力寻找一种处理授权的好方法。

我想使用 Cognito 用户池组,但似乎没有办法从我的应用程序管理用户,因为 amplify 不支持更新用户以将它们放入组中。我真的不想将aws控制台登录暴露给应用程序管理员,所以我似乎需要在应用程序本身中找到一种方法来处理这个问题。

我可以在 dynamodb 本身中创建一个用户表来保存一个用户配置文件,该配置文件可以有一个字段来保存我希望用户能够执行的角色,然后为管理员用户添加一个 CRUD 页面以更新非管理员用户。但是,我并不特别喜欢这个选项,因为它实际上是数据的重复,而且它也不支持(轻松)禁用用户的方法。

看起来 dynamodb 表更新可以触发 lambda 函数,所以我还考虑以某种方式这样做以在 CRUD 页面上的管理员用户更新表时触发用户的 cognito userpool 角色添加但我有连接触发器上的所有点,功能和所需的权限有点麻烦。

任何帮助将不胜感激。

谢谢。

标签: amazon-web-servicesauthorizationamazon-cognito

解决方案


谢谢迪伦,这正是我所做的。我曾错误地认为,我的用户无法做到这一点,但在尝试此操作并跟踪失败后,我能够确定如何将正确的策略应用于执行 addToGroup 和 removeFromGroup 的角色。

再次感谢,迈克


推荐阅读