Skip to main content

Overview

Each user is assigned one or more roles, and each role is assigned one or more privileges. A role typically reflects the permissions needed to perform defined functions in an organization and may apply to one person or to several. Roles can be arranged in a hierarchy through which permissions are inherited, and the relationship between users and roles can be many-to-many.

RBAC addresses the cost and error of specifying access control lists for each user individually. Security is managed at a level that corresponds closely to the organization's structure. Administration consists of deciding which operations people in particular jobs must perform and assigning employees to the proper roles.

RBAC was formalized in 1992 by David Ferraiolo and Rick Kuhn. The NIST RBAC model was adopted as an American National Standard, ANSI/INCITS 359-2004, in 2004 and revised as INCITS 359-2012. The standard defines basic elements (users, roles, permissions, operations, and objects) and the features an RBAC system requires.

RBAC decisions rest on the presence or absence of roles, which handles object-level and horizontal access decisions poorly. In large systems with many roles, role checks are easy to miss or get wrong, which can give both too much and too little access. For these reasons OWASP recommends attribute-based or relationship-based access control over RBAC for application development.

Similar Terms

2 terms

Frequently Asked Questions

What does RBAC stand for?→

RBAC stands for role-based access control, also called role based security.

What is the difference between RBAC and ABAC?→

RBAC grants or denies access based on the roles assigned to a user. Attribute-based access control (ABAC) decides on attributes of the subject and the object, environment conditions, and policies, so it can consider factors such as time of day or device type. NIST describes ABAC as easy to set up but complex to manage.

What is a role hierarchy?→

A role hierarchy is an arrangement of roles through which role permissions may be inherited. Complexities from role hierarchies and mutually exclusive roles are handled by the RBAC software.

Related

Tool categories

Career roles

Sources

Definitions follow the government and standards body sources listed above. This site is not affiliated with the agencies or organizations cited.