Role-Based Access Control (RBAC) is a framework for managing permissions by assigning them to roles, not individual users. In RBAC, access is decided by the role a user holds, and each role maps directly to specific rights within a system. This makes administration predictable, scalable, and secure.
At its core, RBAC answers two questions: Who can do what? and Under what conditions? Users are assigned roles. Roles contain permissions. Permissions govern actions on resources. Change the role, and you change what a user can do without touching the underlying code or data.
RBAC models often follow three rules:
- Role assignment – A user gains access only through a role.
- Role authorization – Only authorized roles are assignable.
- Permission authorization – Permissions are granted strictly to roles, not individuals.
This approach reduces complexity. Instead of tracking permissions user-by-user, you define and audit them at the role level. Security audits become faster, misconfigurations fewer, and onboarding or offboarding a single step: change the role.