TL;DR: Authorization is the control point that decides what users can do, according to Cerbos. It then compares RBAC, ABAC, DAC, MAC, and ReBAC as different ways to express access rules and context; the core issue is not the vocabulary of access control but whether policy, context, and review can keep pace with a growing system.
At a glance
What this is: This is a practical guide to authorization design patterns and the control choices behind access decisions.
Why it matters: It matters because IAM teams need authorization models that scale without creating unreviewable privilege sprawl, brittle custom logic, or inconsistent access outcomes.
👉 Read Cerbos' guide to authorization design patterns and access control models
Context
Authorization is the decision layer that determines what an identity can do after it is already authenticated. In application security, that layer matters because policy logic, contextual checks, and the policy decision point often become the real boundary between safe access and excessive access.
The article is useful to IAM and security teams because it compares common control models rather than treating authorization as a single feature. That framing is relevant to human access, service account access, and broader identity governance because the control pattern you choose affects reviewability, scalability, and how quickly privilege drift appears.
Key questions
Q: How should teams choose between RBAC and ABAC for application authorization?
A: Use RBAC when access maps cleanly to business roles and the number of exceptions is low. Use ABAC when decisions depend on context such as device, location, resource sensitivity, or time. Most teams need both: RBAC for baseline access and ABAC for exceptions that would otherwise create role sprawl.
Q: What breaks when authorization is hard-coded into application logic?
A: Hard-coded authorization becomes difficult to audit, test, and change consistently across services. It also hides decision logic inside code paths that may not be visible to security or compliance teams. Over time, that creates privilege debt because exceptions accumulate faster than governance can review them.
Q: How do security teams know if authorization is actually working?
A: Look for decisions that are explainable, repeatable, and reviewable. If reviewers cannot reconstruct why a request was approved or denied, the control is not mature enough. Strong authorization produces consistent outcomes, visible policy ownership, and access exceptions that are easy to enumerate.
Q: What is the difference between centralized authorization and owner-controlled access?
A: Centralized authorization applies consistent policy across the environment, while owner-controlled access lets resource owners grant and revoke permissions directly. Centralization improves consistency and auditability. Owner control increases flexibility but can create tracking problems and uneven enforcement when the system grows.
Technical breakdown
How policy-based authorization decisions work
Authorization usually has three parts: policy rules, request context, and a decision engine. Rules define what is allowed, context adds facts such as role, resource, device, or location, and the policy decision point evaluates them at runtime. The result is not just yes or no, but a repeatable decision model that can be centralized or distributed across services. This matters because authorization failures often come from incomplete context, unclear policy ownership, or logic embedded too deep in application code.
Practical implication: separate policy definition from application logic so access decisions can be reviewed, tested, and changed without rewriting the product.
RBAC, ABAC, DAC, MAC, and ReBAC in practice
RBAC assigns permissions through organisational roles, which makes it easy to manage but coarse when exceptions accumulate. ABAC adds attributes and environmental signals, giving finer control at the cost of complexity and latency. DAC lets resource owners control access directly, which is flexible but difficult to govern at scale. MAC centralises decisions around labels and clearances for strict environments. ReBAC uses relationships between users and resources, which fits collaboration-heavy systems but can become difficult to model as connections multiply.
Practical implication: choose the simplest model that still matches the business decision, then document where exceptions are allowed before privilege exceptions become the norm.
Why scalability and reviewability matter in authorization
The article's practical warning is that authorization gets harder as systems grow. More roles, more attributes, and more relationships all increase the number of possible decisions, which can slow systems and complicate audits. Homegrown authorization also creates maintenance debt because every rule change becomes a software change. A scalable model is one that can keep policy decisions understandable, testable, and consistent even as the application surface expands.
Practical implication: treat authorization as governed infrastructure, not ad hoc code, and measure whether reviewers can still explain why a decision was made.
NHI Mgmt Group analysis
Authorization design fails when teams treat policy as an application detail rather than an identity control plane. The article shows that rules, context, and decision engines are the real enforcement boundary, not the surrounding UI or login flow. That makes authorization a governance issue as much as an engineering one, especially when access must be reviewed across users, service accounts, and delegated systems. Practitioners should treat policy ownership and decision traceability as core control requirements.
RBAC alone is rarely enough once access needs become contextual. Role models are attractive because they are easy to understand, but they break down when real access depends on device, location, resource sensitivity, or temporary business conditions. ABAC and ReBAC add precision, but they also add policy complexity that can outgrow manual oversight. The governance question is whether the organisation can still explain and certify access decisions after exceptions accumulate.
Custom authorization logic creates hidden privilege debt. When teams embed access rules directly into application code, they often lose the ability to audit, migrate, or standardise decisions across systems. That produces brittle controls that are hard to recertify and expensive to evolve. The implication is straightforward: authorization should be designed as a reusable governance capability, not a series of one-off checks.
Policy decision clarity: Authorization only remains trustworthy when the organisation can show which rules, attributes, and context values produced each decision. Without that clarity, least privilege becomes a claim rather than a control.
From our research:
- 97% of NHIs carry excessive privileges, increasing unauthorised access and broadening the attack surface, according to the Ultimate Guide to NHIs.
- Only 5.7% of organisations have full visibility into their service accounts, which means most teams cannot consistently verify who or what still has access.
- The NIST Cybersecurity Framework 2.0 remains a useful companion for mapping authorization decisions to govern, protect, detect, respond, and recover outcomes.
What this signals
Privilege review will matter more than policy vocabulary. As authorization grows more contextual, the question for practitioners is whether they can still certify access quickly enough to keep pace with role churn, temporary exceptions, and application growth. With 97% of NHIs carrying excessive privileges, the broader governance problem is not theoretical.
The practical signal is that authorization platforms should be evaluated on explainability, not just decision speed. Teams that cannot trace a decision back to a policy and its input context will struggle to support audit, incident response, or access review at scale.
For IAM leaders, the next step is to connect application authorization back to enterprise governance patterns, including review cadence, exception handling, and policy ownership. That is where access control stops being an engineering feature and becomes a managed control.
For practitioners
- Define the authorization model before implementation Map which decisions belong to RBAC, ABAC, DAC, MAC, or ReBAC before writing code so teams do not mix control styles without governance ownership.
- Centralise policy decisions where possible Move access logic into a decision layer that can be tested, reviewed, and changed independently of application code, especially across multiple services.
- Review exceptions as part of access governance Track temporary grants, owner overrides, and role exceptions as first-class access events so exceptions do not become permanent privilege drift.
- Measure whether reviewers can explain decisions Test whether a security or audit reviewer can reconstruct why a user was allowed or denied without relying on tribal knowledge from developers.
Key takeaways
- Authorization is the enforcement layer that turns identity into allowed or denied action, so its design is a governance decision as much as a technical one.
- RBAC, ABAC, DAC, MAC, and ReBAC solve different access problems, but each creates trade-offs in flexibility, complexity, and auditability.
- Teams should centralise policy, reduce custom logic, and make every access decision explainable enough to survive review and recertification.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST CSF 2.0, NIST Zero Trust (SP 800-207) and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | PR.AC-4 | Access permissions and enforcement logic are central to this authorization guide. |
| NIST Zero Trust (SP 800-207) | AC-2 | Zero Trust requires decision points that continuously evaluate access conditions. |
| NIST CSF 2.0 | GV.RM-01 | Governance of custom authorization logic affects enterprise risk management. |
Assign clear ownership for authorization policy and review exceptions as risk decisions.
Key terms
- Authorization: Authorization is the decision process that determines what an authenticated identity can do. It compares policy, context, and request details to decide whether access should be allowed, denied, or narrowed, making it one of the most important enforcement layers in secure applications.
- Role-Based Access Control: Role-Based Access Control assigns permissions based on job or function roles rather than individual users. It is easy to administer at scale, but it can become too coarse when real access needs depend on context, exceptions, or temporary business conditions.
- Attribute-Based Access Control: Attribute-Based Access Control evaluates user, resource, and environmental attributes before making an access decision. It supports fine-grained policy, but it requires disciplined governance because too many attributes or exceptions can make the system difficult to maintain and explain.
- Policy Decision Point: A Policy Decision Point is the engine that evaluates rules and context to produce an authorization decision. In practice, it separates decision-making from application code so policy can be reviewed, tested, and updated without embedding logic everywhere.
Deepen your knowledge
NHI governance, agentic AI identity, and machine identity security are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are responsible for identity security strategy or IAM programme maturity, it is worth exploring.
This post draws on content published by Cerbos: Authorization design patterns and access control models. Read the original.
Published by the NHIMG editorial team on 2025-10-30.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org