We need to focus on RBAC first. ABAC is application-code layer enforcement. ReBAC can be implemented as a separate standalone API.
- Resource - Resource is a primary object that we control access to.
- Action - Specific actions to be performed on a resource. Actions are always bound to a specific resource type.
- Role - A role is a collection of permissions.
For Roles, there are two schools of thought:
-
We define roles as standalone collections of permissions and we implicitly aggregate all permissions from all related resources.
-
We define roles as part of resource. The role names are