Support
 
Phone Live Chat
 
Support
 
US: +1 888 720 9500
US: +1 800 443 6694
Intl: +1 925 924 9500
Aus: +1 800 631 268
UK: 0800 028 6590
CN: +86 400 660 8680

Direct Inward Dialing: +1 408 916 9393

 
 
 
 
 
Blog

What is attribute-based access control?

Written by Andrew Prasanna3 min read

On this page
  • Attribute-based access control explained
  • How does ABAC work?
  • Attribute based access control example
  • Comparing RBAC vs ABAC vs PBAC
  • Pros of using attribute-based access control
  • How do you implement attribute-based access control
  • How ADManager Plus helps you manage Active Directory attributes

Attribute-based access control explained

Attribute-based access control (ABAC) is an authorization technique that uses attributes to provide access to resources. Unlike role-based access control (RBAC), which grants access based on a user's role, ABAC evaluates attributes such as usernames and file types to authorize access. ABAC offers a more granular access solution compared to other authentication methods, helping you enforce stricter policies to protect your resources. This level of fine-grained control is particularly important in environments with dynamic access requirements, such as cloud computing and large-scale enterprise systems, where traditional models may fall short in addressing nuanced security requirements.

How does ABAC work?

ABAC works by evaluating attributes. An attribute is a distinctive characteristic or property of a subject (user), resource, action, or environment. ABAC uses Boolean logic and creates if-then statements to evaluate attributes against existing rules or policies. Listed below are the types of attributes ABAC evaluates to grant access to users.

Attribute types Examples
Subject attribute

This describes the entity trying to gain access to the resource.

Username, age, job, title, citizenship, department, security clearance, and management level
Resource or object attribute

This describes the item being requested.

Creation date, last updated, author, owner, file name, file type, and data sensitivity
Action attribute

This specifies the operation that the subject wants to perform on the resource.

View, read, write, copy, edit, transfer, delete, and approve
Context or environmental attribute

This describes the context surrounding the access request.

Time, location, device type, communication protocol, and authentication strength

Attribute based access control example

Let's say a manager wants to access an employee's performance report. The process is typically carried out like this:

  • An access request is made from the manager.
  • The ABAC system evaluates the manager's attributes if they match existing policies. In this scenario, the access request is compared with the following attributes.
    • Subject's role: Manager
    • Subject's department: Engineering
    • Action: View
    • Resource type: Performance review
    • Resource's employee ID: 12345
    • Resource's department: Engineering
  • If the manager's attributes match, they'll be granted access to the employee's performance report.

Comparing RBAC vs ABAC vs PBAC

RBAC

Unlike ABAC, RBAC works by evaluating the role of the user who wants to access the resource. RBAC will compare the user's role, such as admin, editor, or viewer, to grant appropriate access. Due to its simplicity, RBAC is a quick and easy way to implement access control if you're not looking for the most stringent access security.

Policy-based access control (PBAC)

PBAC is similar to ABAC, as it uses a combination of attributes to provide access. The difference is that PBAC relies on a set of predefined policies written in code, while ABAC relies on policies being mapped to a predefined list of attributes. Policies in PBAC are written in standardized languages like XACML for interoperability across systems, allowing for more complex and rule-based access decisions.

Pros of using attribute-based access control

Fine-grained access control

ABAC evaluates multiple attributes like user, resource, and environment to make precise access decisions.

Context-aware decisions

ABAC considers dynamic factors like time of day, location, device type, or sensitivity level, which helps reduce over-permissioning and improves security posture.

Scalability

ABAC scales better than RBAC in large, complex environments, as you don't need to create and manage hundreds of roles. Access is determined based on attributes.

Reduced admin overhead

While initial setup might require good understanding of attributes, in the long run, it can reduce admin load without having to assign user roles constantly.

How do you implement attribute-based access control

Implementing ABAC into your organization involves several key steps and components. Here's a general overview of the process:

  • Identify attributes: The first step is to identify the relevant attributes for your system. This involves understanding the subjects, resources, actions, and environment.
  • Define policies: Once you know your attributes, you need to define the policies that govern access. These policies specify the conditions under which access to a resource is granted or denied based on the attributes.
  • Policy enforcement point (PEP): The PEP acts as the gatekeeper of the resource. It inspects the request and either grants or denies access based on the PDP's evaluation.
  • Policy decision point (PDP): This evaluates incoming requests against policies it has been configured with. The PDP returns a permit/deny decision.
  • Test and monitor: Start with non-critical resources and log decisions to verify if the behavior is expected. If things are fine, gradually roll out ABAC to other systems.

How ADManager Plus helps you manage Active Directory attributes

ADManager Plus, an identity governance and administration solution with comprehensive Active Directory (AD) and Entra ID management and reporting capabilities, simplifies complex admin tasks from a single, user-friendly console:

Manage and report on Active Directory and Entra ID attributes with ADManager Plus
 

ADManager Plus Trusted By

The one-stop solution to Active Directory Management and Reporting