【发布时间】:2018-12-19 07:20:51
【问题描述】:
我目前的项目在 AWS 中,使用 Cognito 和 Lambda 的微服务。我们已经使用 DDD 设计了微服务,并且正在实现基本功能。
但是,API 的用户存在业务需求,以便能够归类到他们工作的客户公司,并且只能访问该客户公司的数据以及我们的任何基于角色的身份验证。会有的。
这不是一个完整的多租户解决方案,因为每个用户都将使用同一个网站,但他们的帐户将与特定客户相关联。
我所读到的关于在 AWS 中执行此类操作的所有内容都建议为每个客户端使用一个用户角色或池,并在创建用户时将用户与其关联,但是我们不想这样做,因为客户端通常由 2- 3个用户,有很多客户。就用户池的数量而言,这将很快变得无法维护。
我尝试使用“常规”方法想办法解决这个问题,例如将域服务添加到架构中,该架构专门用于通过调用用户微服务将客户端数据添加到特定用户的每个请求中,但是这似乎过于复杂。我还考虑过更改架构以在每个微服务中包含基本的用户和角色信息,但这似乎很混乱。
我的问题是,是否有任何官方支持的方法可以以编程方式将数据添加到 AWS Cognito 配置文件中,并且在创建帐户后,客户管理员可以通过前端网站对其进行更改?即使它只是令牌中的一个 clientId 字段。
如果不是,那么遇到类似问题的人会推荐什么来替代用户池建议。
谢谢。
编辑:
我也一直在研究使用 Cognito 配置文件上的属性的几种方法,如 here 所述。似乎这是或多或少地完成我想要实现的目标的方法,但我仍然想听听替代方案或建议。
【问题讨论】:
标签: amazon-web-services authentication microservices multi-tenant aws-cognito