4.使用OPA + OPAL实现多租户(开源)
基于云的SaaS解决方案以及大多数其他解决方案都需要实现多租户。让我们快速回顾一下什么是多租户,我们可以从中获得什么,以及如何通过两个简单的层轻松实现它吧!
1.何为多租
译者:朱钢 基于云的SaaS解决方案以及大多数其他解决方案都需要实现多租户。让我们快速回顾一下什么是多租户,我们可以从中获得什么,以及如何通过两个简单的层轻松实现它吧! 1.何为多租户 从本质上讲,多租户允许服务的各个部分(即各个微服务)虽然服务多个客户,但无需为每个客户部署单独的实例。为了使SaaS解决方案能够以可承受的价格扩展,满足客户需求并具有弹性(即在云资源中具有成本效益),因此它必须支持多租户。 多租户架构提供了许多出色且必不可少的功能: 2.多租户的两个层面 一旦你理解了多租户,它就很容易了。基本上只需要两件事:“应用程序级的访问控制”和“管理数据架构”。 让我们将其分解为两个层面: 具有基于列简单租户分离的数据库表示例 使用Permit.io的SDK强制实施多租户的示例应用程序路由 3.实现多租户 授权层,它是从单租户应用程序安全升级到多租户应用程序的最快、最可靠的方法。此外,授权层可以通过在所有相关服务中应用策略来实现分离,而无需更改服务本身。 选择正确的策略模型可以进一步简化这个转换过程。使用经典模型,如RBAC + Tenancy,ReBAC + Hierarchy(租户成为root-level关系)或普通ABAC(将租赁作为属性)。 我们不需要自己实现多租户授权,可以享受现成的开源工具和服务来实现。 4.使用OPA + OPAL实现多租户(开源) 使用开源工具是开始实现多租户授权层的绝佳选择。虽然有多种选择,但开放策略代理(OPA)是最常用的。OPA 充当授权微服务云计算实现,我们可以将其添加到应用程序中,并使用其专有的Rego语言编写的规则强制实施访问。 将OPA与OPAL(开放策略管理层)相结合,使我们能够大规模管理授权层,使用Pub/Sub主题使我们的代理及时了解策略(Rego代码)和数据(JSON文档)。例如,主题可以是我们的租户名称或租户ID,从而允许我们将代理与每个租户的更改同步。 5.使用Permit.io实现多租户(服务) 应用授权解决方案,如Permit.io 。Permit建立在OPA和OPAL之上,增加了管理界面,包括租户列表、租户资源管理和每个租户的用户管理。 在 Permit.io 的仪表板中切换租户 6.总结 多租户允许我们的应用程序满足多个客户的需求,而无需为每个客户部署单独的实例。gist中的多租户方案由两层面组成:数据和应用程序。实现多租户的最佳方法之一是创建一个授权层,该授权层可以实现分离,而无需更改服务本身。虽然你可以构建自己的授权层,但也有开源项目(例如OPA + OPAL)和服务(例如 Permit.io)允许你在应用程序中实现一个一月访问的多租户授权层。 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |