Skip to main content

ReBAC

warning

The main benefit you get from the centralized relationships model is it makes it possible to manage authorization centrally. This means that development teams can create new applications and add new relationships without needing to update any application code.

However, the downside is that you are constraining your application to use a very specific data model and you need to design your application around that data store.

For this reason, we don’t recommend using the centralized relationship model in general.

Relationship-based access control (ReBAC) - полутика безопасности, которая фокусируется исключительно на отношениях. Или как ресурс и пользователь соотносятсы между собой.

info

Data ownership is a great model to use any time you find yourself expressing a permission as:
“a user should be able to ___ their own ****___''.
For example: delete their own issues, read their own profile, or edit their own pull requests.

ReBAC - graph-based система авторизации устанавливающая иерархические связи между ресурсом и субьектом.

Хорошо подходит для авторизации операции над файлами, организационной структурой, над любой иерархической структурой.

Ресурсоемкость. Учет многочисленных атрибутов в ReBAC может потребовать значительных вычислительных мощностей и времени.

ReBAC не является заменой ABAC. Несмотря на то, что ReBAC гораздо более детализирован, чем RBAC, ReBAC по-прежнему сталкивается с проблемами по-настоящему детализированных или динамических разрешений, таких как правила, зависящие от таких атрибутов, как время, местоположение, квоты и т.д.

In the context of access control, the graph represents relationships and dependencies between entities, such as users, resources, and permissions.

ReBAC может быть использован совместно с RBAC:

ReBAC combined with RBAC

Basics

Авторизация на основе взаимосвязей означает организацию разрешений на основе взаимосвязей между ресурсами. Эти взаимосвязи могут включать:

  • Владение данными (data ownership), например, разрешение пользователю, создавшему запись, редактировать ее
  • Отношения "родитель-потомок" (parent-child relationships), такие как организация и принадлежащие ей учетные записи
  • Группы (groups), такие как команды, члены которых имеют общие разрешения
  • Hierarchies

Permit.io
Permify
Zanzibar: Google’s Consistent, Global Authorization System
Relationship Based Access Control (ReBAC): The Ultimate Guide