Lably
Skip to content

Role-based access control

Approach to restricting system access to authorized users

  • 7 min read
  • 3 chapters

Related on Lably

Through Hierarchy, Set theory and Social network

Although RBAC is different from mandatory access control and discretionary access control (DAC) frameworks, it can enforce these policies. Its approach is also different from context-based access control and access-control lists. Attribute-based access control and relationship-based access control are models that build on the concept of RBAC.

A 1990s study by NIST demonstrated that RBAC addresses many needs of commercial and government organizations. RBAC is still commonly considered a best practice in information security management, including in implementation of information security standards related to access control.

Design

Within an organization, roles are created for various job functions. The permissions to perform certain operations are assigned to specific roles. Since users are not assigned permissions directly, but only acquire them through their role (or roles), management of individual user rights becomes a matter of simply assigning appropriate roles to the user's account; this simplifies common operations, such as adding a user, or changing a user's department.

Three primary rules are defined for RBAC:

  1. Role assignment: A subject can exercise a permission only if the subject has selected or been assigned a role.
  2. Role authorization: A subject's active role must be authorized for the subject. With rule 1 above, this rule ensures that users can take on only roles for which they are authorized.
  3. Permission authorization: A subject can exercise a permission only if the permission is authorized for the subject's active role. With rules 1 and 2, this rule ensures that users can exercise only permissions for which they are authorized.

Additional constraints may be applied as well, and roles can be combined in a hierarchy where higher-level roles subsume permissions owned by sub-roles.

With the concepts of role hierarchy and constraints, one can control RBAC to create or simulate lattice-based access control (LBAC). Thus RBAC can be considered to be a superset of LBAC.

When defining an RBAC model, the following conventions are useful:

  • S = Subject = A person or automated agent
  • R = Role = Job function or title which defines an authority level
  • P = Permissions = An approval of a mode of access to a resource
  • SE = Session = A mapping involving S, R and/or P
  • SA = Subject Assignment
  • PA = Permission Assignment
  • RH = Partially ordered Role Hierarchy. RH can also be written: ≥ (The notation: x ≥ y means that x inherits the permissions of y.)
    • A subject can have multiple roles.
    • A role can have multiple subjects.
    • A role can have many permissions.
    • A permission can be assigned to many roles.
    • An operation can be assigned to many permissions.
    • A permission can be assigned to many operations.

A constraint places a restrictive rule on the potential inheritance of permissions from opposing roles. Thus it can be used to achieve appropriate separation of duties. For example, the same person should not be allowed to both create a login account and to authorize the account creation.

Thus, using set theory notation:

  • PA⊆P×R and is a many to many permission to role assignment relation.
  • SA⊆S×R and is a many to many subject to role assignment relation.
  • RH⊆R×R

A subject may have multiple simultaneous sessions with/in different roles.

Standardized levels

The NIST/ANSI/INCITS RBAC standard (2004) recognizes three levels of RBAC:

  1. Core RBAC
  2. Hierarchical RBAC, which adds support for inheritance between roles
  3. Constrained RBAC, which adds separation of duties

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication