Back to GRC

Types of Access Control: RBAC, ABAC, MAC and DAC Explained

7 min read

Types of access control models

Access control decides who can use which systems and data, and what they can do with them. The main types of access control are discretionary (DAC), mandatory (MAC), role-based (RBAC), attribute-based (ABAC), rule-based, and relationship-based (ReBAC). Each balances security, flexibility and effort differently. This guide explains each model with examples, covers access control lists and granular permissions, and shows how to implement role-based access control in a growing company.

Related guides: User access review template · Best user access review tools · Privileged access threat detection · How to prepare for a SOC 2 audit

Key takeaways

  • Access control has three parts: identification, authentication and authorization.
  • RBAC is the most common model in business software. ABAC adds fine-grained, context-aware rules.
  • Whatever the model, follow least privilege, review access regularly and remove it promptly when people leave.
  • SOC 2, ISO 27001, HIPAA and PCI DSS all require documented, reviewed access control.

The main types of access control

Model How access is decided Example Strengths Weaknesses
Discretionary (DAC) The owner of a resource grants access Sharing a document with a colleague Flexible, simple Hard to control at scale, access spreads
Mandatory (MAC) A central authority assigns security labels; users can only access data at or below their clearance Government classified systems Very strong control Rigid, heavy to manage
Role-based (RBAC) Permissions are attached to roles, and users are assigned roles "Support agent" can view tickets but not billing Easy to manage and audit Role explosion if roles are too granular
Attribute-based (ABAC) Policies evaluate attributes of the user, resource, action and environment Managers can approve expenses under $5,000 in their own department during work hours Fine-grained, context-aware More complex to design and test
Rule-based System-wide rules apply to everyone No logins from outside approved countries Simple global controls Not suited to per-user needs
Relationship-based (ReBAC) Access follows relationships between users and objects Users can edit documents in folders they own or that are shared with their team Natural for collaboration apps Needs a relationship graph and careful design

Most organizations combine models: RBAC for most permissions, ABAC or rule-based policies for sensitive actions and context, and DAC within collaboration tools.

Types of access control compared

Access control lists

An access control list (ACL) is a list attached to a resource, such as a file, network segment or storage bucket, that says which users or systems may access it and how. ACLs are a mechanism rather than a model. They are common in operating systems, network devices and cloud storage. They work well for a small number of resources but become hard to manage at scale, which is why RBAC and policy-based approaches are usually layered on top.

Granular access control and least privilege

Granular access control means permissions are specific, such as read-only access to one project rather than admin access to everything. Combined with the principle of least privilege, giving people only the access they need for their job, it limits the damage a compromised account or a mistake can cause. Practical steps include separate admin accounts, just-in-time access for production, time-limited elevated rights and approval workflows for sensitive permissions.

Examples of role-based access control

Role Permissions
Engineer Read and write code repositories, deploy to staging, read-only production logs
Senior engineer on call Engineer permissions plus time-limited production access with approval
Support agent View customer accounts and tickets, no access to billing or exports
Finance Billing system and invoices, no access to production
Admin Manage users and settings, with MFA and logging, limited to a few people

How to implement role-based access control

  1. Inventory systems and data and decide which are sensitive.
  2. Define roles based on job functions, not individuals. Start broad and refine.
  3. Map permissions to roles using least privilege.
  4. Use your identity provider with SSO and groups to assign roles centrally.
  5. Automate joiners, movers and leavers from your HR system so access changes with employment.
  6. Require MFA for all users and phishing-resistant MFA for admins.
  7. Review access regularly, at least quarterly for sensitive systems, and remove what is not needed.
  8. Log and monitor access to sensitive data and admin actions.

Access control in compliance frameworks

Framework Relevant requirements
SOC 2 CC6.1 to CC6.3: logical access, provisioning, removal and reviews
ISO 27001:2022 Annex A 5.15 to 5.18 and 8.2 to 8.5: access control, identity, authentication, privileged access
HIPAA 164.312(a)(1): access control for ePHI; 164.308(a)(4): information access management
PCI DSS v4.0.1 Requirements 7 and 8: restrict access by need to know, identify and authenticate users

Joiners, movers and leavers

Most access problems come from changes in employment rather than the access model itself.

Event What should happen Common failure
Joiner Access granted through role groups on day one, approved by the manager Ad hoc access granted by copying another person's permissions
Mover Old role access removed and new role access granted New access added but old access never removed
Leaver All access removed on the last day, devices returned, shared credentials rotated Accounts left active in tools outside SSO

Connect your HR system to your identity provider so these changes happen automatically, and check tools outside SSO during each access review.

Access control and zero trust

Zero trust means no user or device is trusted by default because of its network location. Every request is checked against identity, device health and context before access is granted. In practice this builds on the models above: strong authentication, RBAC or ABAC policies, device checks through management tools, and continuous monitoring. For a small company, SSO with MFA, managed devices and least privilege covers most of the value.

How to choose an access control model

Start with RBAC for most systems, because it is easy to understand, audit and manage through your identity provider. Add ABAC or rule-based policies where context matters, such as blocking access from unmanaged devices, limiting sensitive actions to business hours, or restricting customer data by region. Use ReBAC when your own product needs sharing between users, teams and objects. Reserve MAC for environments with formal classification requirements, such as government work. Whatever you choose, write it down in an access control policy, so auditors and engineers apply it the same way.

Common access control mistakes

  • Shared admin accounts with no individual accountability
  • Too many people with admin rights "just in case"
  • Former employees still active in tools not connected to SSO
  • Roles created for individuals, leading to hundreds of near-duplicate roles
  • No logs of who accessed sensitive data
  • Access reviews that are approved without anyone actually checking

How SecureSlate helps

SecureSlate access reviews connect to your identity provider and key systems, run quarterly reviews with managers, flag former employees and excess permissions, and store the evidence auditors ask for under SOC 2, ISO 27001, HIPAA and PCI DSS.

FAQ

What are the four main types of access control?

The four classic models are discretionary (DAC), mandatory (MAC), role-based (RBAC) and attribute-based (ABAC). Rule-based and relationship-based access control are also widely used.

What is the most common type of access control?

Role-based access control, because it is easy to manage and audit in business systems.

What is the difference between RBAC and ABAC?

RBAC grants permissions through roles. ABAC evaluates attributes such as department, data sensitivity, location and time, which allows finer and context-aware decisions.

Is MFA a type of access control?

MFA is part of authentication, which confirms identity before access control decides what the user may do. Both are needed.

How often should access be reviewed?

At least quarterly for sensitive and in-scope systems, and immediately when someone changes role or leaves.


What is the principle of least privilege?

Giving each user, service and system only the access needed to do its job, and nothing more, for as long as it is needed.

What should an access control policy include?

How access is requested and approved, the roles in use, MFA requirements, privileged access rules, review frequency and the process for removing access when people leave.

Disclaimer (legal note)

This article is for general information only and is not legal, regulatory, or professional advice. Requirements vary by framework, industry, and jurisdiction. Consult qualified advisors for your specific obligations.

Need compliance without the complexity?

SecureSlate automates ISO 27001, SOC 2, GDPR, HIPAA, and more. Built for growing teams. See it in action.

Find compliance gaps in 30 seconds

Keep reading

Jun 4, 2026 · GRC

Access Control Policy

Jun 7, 2026 · GRC

Examples of Role Based Access Control

Jun 20, 2026 · GRC

Granular Access Control

View more posts
Jamie
Virtual Agent

Hi! I'm Jamie. Curious about your current compliance challenges and how automation might help your team?