Access Control Models
- RBAC (Role-Based Access Control)
- Access based on user roles (e.g., Admin, Viewer).
- Permissions assigned to roles, not individuals.
- ABAC (Attribute-Based Access Control)
- Dynamic access based on attributes (user, resource, environment).
- Example: “Deny access if login location is outside the US.”
- ReBAC (Relationship-Based Access Control)
- Access based on relationships (e.g., file owner, team member).
- Common in collaboration tools (e.g., Google Drive sharing).
- PBAC (Policy-Based Access Control)
- Governed by centralized policies (combines RBAC/ABAC/ReBAC).
- Uses policy engines like XACML.
- DAC (Discretionary Access Control)
- Owners manually grant access (e.g., file permissions).
- Example: Unix
chmod
commands.
- MAC (Mandatory Access Control)
- Strict, label-based access (e.g., Top Secret, Confidential).
- Used in military/government (e.g., SELinux).
- CBAC (Context-Based Access Control)
- Extends ABAC with real-time context (time, location, device).
- Example: “Block access outside business hours.”
- OrBAC (Organization-Based Access Control)
- Rules based on organizational roles/activities.
- Example: “Doctors access records only during shifts.”
- GBAC (Graph-Based Access Control)
- Formalized relationship graphs (e.g., social networks).
- TBAC (Task-Based Access Control)
- Permissions tied to workflow stages (e.g., loan approval).
- ZBAC (Zone-Based Access Control)
- Access based on physical/logical zones (e.g., network segments).