Relationship-Based Access Control
Relationship Based Access Control (ReBAC) allows the definition of relationships
between users and objects, e.g., User A is owner of Object 1
, relationships
between objects and other objects, e.g., Object 1 is parent of Object 2
, and relationships
between groups of users and objects e.g., Owners of an Object are owners of their children
. Then,
authorization checks are queries of the form of
does user U have relation R to object O?
ReBAC provides a uniform data model and language for expressing
a wide range of access control policies that can scale to a large number of entities and
services. Key features include retaining consistency and causal ordering when access
control policies or object properties change.