【问题标题】:What best practices or access control models are recommended for implementing fine-grained access control推荐哪些最佳实践或访问控制模型来实施细粒度访问控制
【发布时间】:2020-07-10 16:55:15
【问题描述】:

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

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

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

我阅读了 ABAC in this answer,但仍有以下 2 个问题:

  1. ABAC 仍然是推荐模型,还是我应该了解其他模型?
  2. 如果我最终使用 ABAC,将其与 RBAC 结合使用的最佳方法是什么?

我非常感谢任何回复。

【问题讨论】:

    标签: access-control rbac abac casbin


    【解决方案1】:

    我是 Casbin 作者。最近,Casbin 增加了对扩展 ABAC 规则的支持:https://casbin.org/docs/en/abac#scaling-the-model-for-complex-and-large-number-of-abac-rules。现在您可以在 Casbin 中编写非常强大的 ABAC 规则。你也可以在 Casbin 中混合使用 RBAC 和 ABAC。

    【讨论】:

    • 感谢您的链接,将查看它。