建议使用哪些最佳实践或访问控制模型来实现细粒度访问控制



我们目前正在构建一个具有多个用户角色的Web应用程序。每个用户都分配了一个或多个角色,从而授予他们与Web应用程序的特定部分(REST资源(交互的权限。例如,具有角色admin的用户被允许对资源user执行create操作。

我们已经使用RBAC和Casbin实现了这种访问控制。到目前为止,这已经满足了我们的访问控制需求。我们已经到了必须实现某种机制的地步,这种机制使我们的网络应用程序的用户能够授予其他用户访问特定数据对象(例如他们的地址(的权限。在某些情况下,这些其他用户也需要能够对这些数据进行变异。

我有一种感觉,RBAC不适合这种级别的细粒度访问控制。因此,我正在寻找适合此用例的最佳实践/替代访问控制模型。

我在这个答案中读到了ABAC,但仍然有以下两个问题:

  1. ABAC仍然是一个推荐的模型,或者还有其他我应该了解的模型吗
  2. 如果我最终使用ABAC,将其与RBAC相结合的最佳方式是什么

我非常感谢您的回复。

我是Casbin的作者。最近,Casbin增加了对扩展ABAC规则的支持:https://casbin.org/docs/en/abac#scaling-该模型适用于复杂和大量的算盘规则。现在,您可以在Casbin中编写非常强大的ABAC规则。您也可以在Casbin中将RBAC和ABAC混合在一起。

最新更新