Introduction to access control model: ACL, RBAC, ABAC

Access Control Models: ACL, RBAC, ABAC In system design, access control is a critical mechanism to ensure data security and correct authorization of functionalities. Depending on the complexity of the system, the variety of user roles, and the flexibility needed in resource management, there are three common access control models: ACL (Access Control List), RBAC (Role-Based Access Control), and ABAC (Attribute-Based Access Control). Below is a brief comparison of these three models, outlining their design logic, characteristics, and application scenarios to help clarify the selection and implementation considerations. ACL Direct authorization, fine-grained, but difficult to manage Design Logic: User → Resource + Operation If a user has read and update permissions for the development department's file list, they can view all the data under that department and make changes to it. RBAC Simplified management, clear structure, but limited flexibility Design Logic: Role → Resource + Operation; User is assigned to a role If a user’s role is a department manager, they can perform CRUD operations on all resources within that department. ABAC Highest flexibility, dynamic condition evaluation based on the user's, resource's, and environment's attributes to determine authorization. Some variants include ReBAC (Relationship-Based Access Control), LBAC (Label-Based Access Control). Design Logic: Access is determined based on attributes. If a user’s department attribute is "HR Department," the resource's attribute is "personnel data," and the current time is within working hours, access is granted. Comparison Table Item ACL (Access Control List) RBAC (Role-Based Access Control) ABAC (Attribute-Based Access Control)

May 6, 2025 - 04:23
 0
Introduction to access control model: ACL, RBAC, ABAC

Access Control Models: ACL, RBAC, ABAC

In system design, access control is a critical mechanism to ensure data security and correct authorization of functionalities. Depending on the complexity of the system, the variety of user roles, and the flexibility needed in resource management, there are three common access control models: ACL (Access Control List), RBAC (Role-Based Access Control), and ABAC (Attribute-Based Access Control). Below is a brief comparison of these three models, outlining their design logic, characteristics, and application scenarios to help clarify the selection and implementation considerations.

ACL

Direct authorization, fine-grained, but difficult to manage

  • Design Logic: User → Resource + Operation

If a user has read and update permissions for the development department's file list, they can view all the data under that department and make changes to it.

RBAC

Simplified management, clear structure, but limited flexibility

  • Design Logic: Role → Resource + Operation; User is assigned to a role

If a user’s role is a department manager, they can perform CRUD operations on all resources within that department.

ABAC

Highest flexibility, dynamic condition evaluation based on the user's, resource's, and environment's attributes to determine authorization.
Some variants include ReBAC (Relationship-Based Access Control), LBAC (Label-Based Access Control).

  • Design Logic: Access is determined based on attributes.

If a user’s department attribute is "HR Department," the resource's attribute is "personnel data," and the current time is within working hours, access is granted.

Comparison Table

Item ACL (Access Control List) RBAC (Role-Based Access Control) ABAC (Attribute-Based Access Control)

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies.