TL;DR: Context-aware authorization is needed when simple roles no longer express who can update or delete a resource, according to Cerbos. The article shows how Auth0-issued roles can be enriched with resource attributes so access decisions can reflect ownership and policy context instead of token-bloat and brittle role sprawl.
At a glance
What this is: This is an explanation of why role-only authorization is insufficient for modern apps and how ABAC adds resource and user context to make the decision.
Why it matters: It matters because IAM teams need authorization models that can express ownership and other attributes without forcing every exception into a new role or a larger token.
Context
Modern application authorization is the point where identity proofing stops and access logic begins. Once the application knows who the user is, it still has to decide what that user can do with a specific resource, and that decision gets harder as roles multiply and policies become more conditional.
Cerbos uses the example of Auth0 roles to show the limit of role-based access control in dynamic applications. If access depends on both a user attribute and a resource attribute, then a pure RBAC model becomes too blunt, because the application needs context about the object being accessed, not just the user session.
Key questions
Q: How should teams implement context-aware authorization in modern apps?
A: Start with RBAC for coarse access, then add ABAC rules for the cases that depend on ownership, department, data sensitivity, or other resource attributes. Keep the identity provider focused on authentication and basic entitlements, and let a policy engine evaluate context at request time. That separation keeps access decisions flexible without turning tokens into policy containers.
Q: When does RBAC become too coarse for modern access control?
A: RBAC becomes too coarse when teams need to encode time, device, location, purpose, or data sensitivity into permanent roles. That is usually a sign that the organisation is using roles to simulate context. At that point, ABAC or a hybrid model is usually a better fit.
Q: What are the signs that authorization rules are being overloaded into tokens?
A: Common signs include growing role counts, many custom claims, and application code that keeps reinterpreting token contents to make business decisions. That usually means the team is using identity artifacts as a policy engine. The better pattern is to keep tokens short and move conditional logic into a dedicated authorization layer.
Q: What is the difference between RBAC and ABAC for API access control?
A: RBAC grants access through predefined roles, which is simple and stable but coarse. ABAC evaluates attributes such as device state, environment, resource sensitivity, or time, which allows tighter control. Use RBAC for baseline structure and ABAC when machine access needs context-aware limits that static roles cannot express.
Technical breakdown
Why RBAC breaks when access depends on ownership
Role-based access control works when one role cleanly maps to one permission set. In modern applications, that assumption often fails because the same action can be allowed for an administrator and denied for a regular user unless that user owns the resource. RBAC can represent the broad entitlement, but it cannot express the conditional test that ties permission to object ownership, department, or data classification. That is why role sprawl appears: teams keep inventing new roles to model exceptions that are really policy conditions. Practical implication: treat ownership and similar conditions as policy inputs, not as new roles.
Practical implication: keep RBAC for coarse entitlement, and move conditional access logic out of roles.
How ABAC evaluates user and resource attributes
Attribute-based access control decides access by comparing attributes on the subject, the object, and sometimes the environment. The subject might be a user's title or department, while the object might carry an owner ID or business unit. This makes the policy more expressive because one rule can cover many cases that would otherwise require multiple roles. In the article's example, a user with the user role can update or delete a resource only when they own it, which is a simple attribute comparison rather than a role redesign. Practical implication: define the smallest stable attribute set that your application can reliably supply at decision time.
Practical implication: model access around stable attributes that the application can fetch consistently at authorization time.
Why token-bloat is a design smell in authorization
The article shows a common pattern where roles are pushed into the access token and then reused for authorization. That is fine for basic cases, but once you start embedding many special cases into tokens, the token becomes a poor substitute for policy evaluation. Token-bloat makes decisions harder to reason about, harder to change, and more tightly coupled to the identity provider. ABAC changes the control point: the application gathers context at runtime and asks a policy engine to decide. Practical implication: do not overload identity tokens with business rules that belong in an authorization layer.
Practical implication: keep tokens for identity assertions and use policy evaluation for decision logic.
NHI Mgmt Group analysis
Context-aware authorization is the real answer when resource ownership matters. RBAC is not failing because roles are obsolete, but because roles cannot express every conditional decision in a modern application. Once access depends on who owns a resource, which department it belongs to, or which object is being touched, the decision model must move beyond static entitlements. The practitioner conclusion is that authorization should be designed around context, not stretched roles.
Token-bloat is usually a symptom of policy confusion, not identity complexity. When teams keep adding claims and custom roles to make authorization work, they are pushing business logic into an identity artifact that was never meant to carry it. That creates brittle coupling between the IdP and the application, and it makes policy changes expensive. The practitioner conclusion is to separate identity assertion from access decision.
ABAC makes exception handling scalable in a way RBAC cannot. A single attribute-based rule can govern many users and resources without forcing new roles for every edge case. That matters because most real systems do not have one permission model for everyone. The practitioner conclusion is to treat ABAC as the control plane for dynamic access, with RBAC remaining the coarse-grained baseline.
Authorisation design now sits alongside identity design as a core IAM discipline. Authentication answers who the user is, but modern application security depends just as much on whether the access decision can see the right resource context. This is why authorization architecture deserves the same governance attention as SSO, MFA, and lifecycle management. The practitioner conclusion is to review access models as part of the broader IAM programme, not as an application afterthought.
What this signals
Context-aware authorization is becoming a governance requirement, not just a design preference. As applications become more dynamic, the question is no longer whether a user has a role, but whether the policy can see enough context to make a defensible decision. That shifts authorization from an implementation detail into an IAM governance concern that affects application design, access reviews, and change control.
Role sprawl is the clearest warning sign that the access model has outgrown RBAC. When teams create new roles for every conditional exception, they are encoding business logic in entitlements rather than in policy. Practitioners should watch for that pattern across application teams, because it usually indicates the authorization model needs attribute-driven decisions, not another role.
Ownership-aware access is a useful named concept for modern application security. It describes the point where the decision is no longer based on who the user is alone, but on who owns the specific resource being touched. For IAM and IGA teams, that means access governance must account for object context as well as identity context.
For practitioners
- Separate identity from policy decisions Use the identity provider to assert who the user is, then evaluate access in a policy layer that can inspect resource context, ownership, and other application data.
- Model ownership as an access attribute Expose stable resource attributes such as owner ID, department, or data classification so that a policy can evaluate them at request time.
- Reduce role sprawl before adding new roles Review any role that exists only to capture a conditional exception, because those cases usually belong in ABAC policies instead of new permissions bundles.
- Keep tokens lean Avoid embedding every conditional permission into access tokens, because that shifts business logic into a credential artifact and makes change harder.
Key takeaways
- Modern apps often need access decisions that combine who the user is with what resource they are trying to change.
- RBAC works well for broad entitlements, but it becomes brittle when conditional exceptions keep multiplying.
- ABAC gives teams a way to express ownership and other resource attributes without turning every exception into a new role.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP ASVS, NIST SP 800-53 Rev 5 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP ASVS | V8 — Authorization | The article is fundamentally about application authorization decisions and conditional access. |
| Recommendation — Apply V8 to verify that access decisions account for object context, not just authenticated identity. | ||
| NIST SP 800-53 Rev 5 | AC-6 — Least Privilege | The example shows how permissions should be limited by condition, not widened through extra roles. |
| Recommendation — Use AC-6 to keep entitlements narrow and push conditional decisions into policy rules. | ||
| NIST CSF 2.0 | PR.AA-05 — Access Permissions, Entitlements and Authorizations | The post is about how permissions and authorizations should be evaluated in modern applications. |
| Recommendation — Map application authorization logic to PR.AA-05 and test that policy reflects resource context. | ||
Key terms
- Role-Based Access Control: A model that grants permissions by assigning identities to predefined roles. It works well when jobs are stable and access patterns are predictable, but it becomes brittle when exceptions pile up. In practice, role design must stay small enough to audit and broad enough to avoid endless custom variants.
- Attribute-Based Access Control: Attribute-Based Access Control is a policy model that grants or denies access using attributes such as user role, device state, location, and application context. It replaces purely static role assignment with a decision process that can adapt to current conditions, provided the underlying attributes are trustworthy and well-governed.
- Policy decision point: A policy decision point evaluates contextual rules and returns an access decision that enforcement points can act on. It separates authorization logic from application code, which helps teams manage tenant rules, resource ownership, and risk signals consistently.
Deepen your knowledge
NHI governance, agentic AI identity, and machine identity lifecycle 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 NHI governance in your organisation, it is worth exploring.
Published by the NHIMG editorial team on June 11, 2026.
Updated on October 6, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org