Logto 的多租户模型解释
看看我们是如何设计 Logto 的多租户模型,以及它为 SaaS 应用程序带来的好处。
看看我们是如何设计 Logto 的多租户模型,以及它为 SaaS 应用程序带来的好处。
你可能听说过一些产品使用“多租户”这个术语来表示身份隔离:每个租户都有自己的一套用户、角色、权限和数据。
这可能违反直觉,但实际上,“多租户”表示相反的意思:多个租户在一个实例中共享资源。对于用户而言,应用程序中的身份就像驾驶执照。例如,使用一张驾驶执照,你可以在不同的州驾驶(在多个组织中使用一个身份),而不是为每个州重新申请新的驾驶执照。
在 Logto,我们在设计初期注意到了这种困惑,并急切地想为你的应用程序和用户解决这个问题。以下是我们的设计:
这种模型为管理身份提供了灵活性和可重用性,特别是对于 SaaS 应用程序。如果我们看看一些流行的 SaaS 应用程序,我们会发现它们都可以适应这种模型。“组织”这个术语在不同的应用程序中可能有所不同,例如“工作区”、“团队”等。但概念是相同的。
例如,在 Notion (一个流行的协作工具)中:
因此,用户可以轻松地在工作区之间切换,而无需切换账户或重新登录,并且还能保持工作区之间的隔离。将此翻译成 Logto 的模型,这意味着:
根据不同的角色,用户可以在不同的工作区(组织)中拥有不同的权限。
对于用户来说,他们可以享受真正的单点登录体验。在组织之间切换就像在选项卡之间切换一样容易。
SaaS 应用程序的一个优点是,它们是标准化并具有可扩展性的。例如,你可以在 Notion 中通过几个点击创建一个新的工作区,并且它可以立即使用。
当你的应用程序成长时,你可能想为每个组织添加更多的角色和权限。例如,一个新的角色“访客”和一个新的权限“邀请:访客”。如果你需要逐个更新所有现有组织,这可能会成为一场噩梦。
使用 Logto,你可以更新组织模板,所有现有组织会自动更新。
在 Logto 中,我们使用相同的访问控制模型(RBAC)来管理组织和 API 资源。这意味着如果你熟悉 RBAC,就不需要学习一个新的访问控制模型。同时,它们彼此隔离,因此你可以在不同的使用场景中使用它们。
最令人兴奋的是,你可以同时使用它们。继续延伸 Notion 的例子:
大多数 Logto SDK 支持这两种 RBAC 模型。
差异
组织 RBAC 和 API 资源 RBAC 主要在以下几个方面不同:
构建一个 SaaS 应用程序很困难,我们希望 Logto 可以帮助你专注于核心业务。如果你有任何问题或建议,请不要犹豫给我们反馈。