To further illustrate the benefits of policy-based access control, let’s take a look at how this model addresses some of the vulnerabilities of other common authorization methods.
Role-Based Access Control (RBAC)
Role-based access control (RBAC), or non-discretionary access control, is a model that bases user access privileges on each individual’s assigned role in the organization.
For instance, bank administrators might set predefined permissions for everyone with the role of “teller” to access account balances and process transactions. Those in the “investment manager” role could have permissions to execute trades and manage the client’s investment portfolio but not access basic account services.
The goal is to only provide users with access to the systems and resources relevant to their role and nothing more, following the principle of least privilege. RBAC also makes it easier to onboard new employees, as they don’t have to set permissions for each new user individually.
However, RBAC doesn’t consider more nuanced attributes, like the context of the request. For instance, if a teller attempts to access a customer’s account after hours from their personal computer to exploit their information, PBAC might deny the request based on set policies, whereas the static logic of RBAC could allow it.
Attribute-Based Access Control (ABAC)
Attribute-based access control (ABAC) dynamically governs user access based on user attributes or characteristics. Attributes might include the user type or role, the time, date, and location of the request, and file name and sensitivity, among other details.
Rather than strictly binding access privileges to a user’s specific role in the organization, ABAC considers the context of the request and offers more granular control.
With ABAC, organizations can create more unique and customizable permissions for each individual. Though it’s a bit more complicated to set up and manage than RBAC, it can offer more security and flexibility.
But, as opposed to PBAC, ABAC policies aren’t managed centrally, making it a bit more tedious to update custom permissions and deploy policy changes.
Relationship-Based Access Control (ReBAC)
Relationship-based access control (ReBAC) grants or denies user access based on their relationship to a given asset, entity, or system. Thus, the specific context of the request, like the current time or location, aren’t the focus of this access model.
An easy way to see this in practice is to consider a file folder on your computer. Given the established hierarchies, if you are given access to a folder, you will also get access to every individual file and additional folders stored within it.
ReBAC is a bit more advanced than RBAC, but still not as flexible or dynamic as ABAC or PBAC.
Policy Based Access Control (PBAC)
Again, PBAC is a much more adaptable and flexible model, offering more fine-grained control in an increasingly dynamic threat environment.
Authorization is based on organizational policies, which can consider more user attributes and situational context compared to other models.
Since policies are written in plain language, it’s easier for administrators to get an overview of who within the organization has access to what assets, providing better transparency and compliance with regulatory requirements.
Thus, using the above example of the investment manager, under PBAC, access to client portfolios would be governed by additional attributes aside from their designated role, such as the time of day they’re attempting access or if they’re accessing the system from a secure network.