我有一个使用AWS Cognito进行身份验证和资源访问控制的ASP.NET Web API。到目前为止,我们一直在使用用户池组来定义用户有权访问的某些实体(数据库中的非aws资源)。
问题在于,既然我们对访问控制的要求更加详细,我们将每个池的组上限设置为25。我研究了Cognito中的替代方法,例如使用自定义属性,但是我发现每个池中的自定义属性的数量也受到限制,并且它们仅支持字符串和数字类型,而不支持数组。
我探索的另一种方法是在令牌到达我们的API时拦截该令牌,并根据数据库中映射的权限添加声明。这可以很好地工作,但这只是解决方案服务器端,我不完全需要拦截每个请求以通过DB调用添加声明的请求(这对性能没有太大帮助)。我们还需要其中一些客户端声明,因此这不是一个很好的解决方案。
除了请求增加每个池的可用组数量的服务限制之外,我是否还遗漏了其他明显的内容?根据AWS的文档,似乎是建议使用此方法的组。即使我们采用具有多个池的多租户方法,我认为25组上限仍然是一个问题。
https://docs.aws.amazon.com/cognito/latest/developerguide/scenario-backend.html
答案 0 :(得分:0)
您可以请求增加服务的几乎任何部分的限额。他们会考虑的。正如您指出的那样,有时这比构建辅助系统更直接。参见https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html