【问题标题】:Cloud scale user management云规模用户管理
【发布时间】:2020-10-08 11:52:09
【问题描述】:

我正在为大量用户构建处理大量设备的服务。

我们为每个实体分配了一个复杂的访问角色架构。某些数据条目可以被某些用户写入,而某些用户只能从某些实体中读取(但可以写入其他实体)。

这是一项云服务:设备和用户数量超过了单台服务器机器所能处理的数量(我们为此使用了非关系型云数据库)。

我想知道是否有一个已建立的云规模用户/角色管理后端系统,我可以集成它来强制执行访问规则,而不是自己编写。这项技术最好与云无关,因此我不希望使用 SAAS 解决方案,而是部署我自己的解决方案。

我正在寻找一个可以扩展到数百万用户和数十亿数据实体的系统

【问题讨论】:

    标签: authentication database-design architecture cloud microservices


    【解决方案1】:

    我认为身份验证不会是一个大问题,有非常强大的基于云的解决方案可用于存储身份和验证数百万用户。授权将更加棘手,并且很大程度上取决于您希望它的粒度。例如,您可以将 Apigee 视为一个非常可扩展的代理,可以帮助您实现这一点。因此,达到您拥有可以验证用户身份并且可能包含某些范围的令牌的地步在 imo 中并不难。如果这对你来说已经足够了,那么我会看看 Auth.0、Okta 和你正在使用的任何云平台(Cognito、Cloud Identity 等)的原生 IDM 解决方案。

    我想您会发现更多功能的价格非常高昂。因此 Auth.0 与 Cognito 相比要优越得多,但 Cognito 仍然具有足够的基本用例功能,并且最终在大型部署中花费 Auth.0 的一小部分。所以一切都有利有弊。如果您有非常复杂的需求,例如需要集成一堆大型遗留存储库,那么像 Auth.0 这样的产品很快就会变得更具吸引力。

    就我个人而言,我会查看 Auth.0、Cognito 和 Apigee,我的决定很大程度上取决于您在问题中没有提到的参数。显然,这些都是 SaaS 解决方案,我认为无论如何你都应该使用它们。除非我别无选择,否则我不会自己主持这个,走这条路会从根本上限制你的选择,并可能增加开支。所有很酷的事情都发生在云端。

    【讨论】:

    • 感谢您的详细解答!我不是在寻找身份验证(正如您所提到的,这很容易)。我正在寻找细粒度的授权(许多资源,具有不同的角色和不同的权限)。不,它不可能是 SAAS,因为这个项目有私有托管要求(就像云一样酷,我不能真正使用它)。但是,我确实有一些预算可以花在专业资源上(如果值得的话)。虽然我看到 Okta 支持某些授权,但它看起来像是唯一的“基于角色”,可能没有我需要的解决方案。
    • 好吧,我不是最新的中间件,但如果必须的话,我可能会倾向于自己编码。问题总是要找到完全符合您要求的东西,因为如果您最终以任何非次要的方式进行定制,从长远来看,您将陷入痛苦的世界。
    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 2011-01-15
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多