Overview

6 Dynamic authorization models

Authorization at ACME Corp evolved from a simple, role-based setup into a more adaptable system as the company expanded. RBAC initially brought order, faster onboarding, and easier audits, but it began to break down as people took on multiple responsibilities and the business grew more collaborative and distributed. Alice needed access based on assigned work, Bob needed access scoped to his region, and Carol saw that the organization was drifting back into a patchwork of exceptions. The chapter uses these pressures to show why static authorization alone is not enough for modern systems.

To address collaboration and scope, the chapter introduces relationship-based access control and attribute-based access control. ReBAC grants access through paths in a relationship graph, making it ideal for shared documents, support tickets, and delegated ownership; ACME uses it so access follows real business relationships such as owner, editor, manager, and viewer. ABAC, by contrast, makes decisions from attributes of the person, resource, and environment, enabling precise rules based on clearance, department, device status, time, region, and other conditions. ReBAC is strongest when access follows durable relationships, while ABAC excels when access depends on changing context.

The chapter concludes by framing policy-based access control as the unifying approach. PBAC externalizes authorization logic and evaluates policies at runtime, treating roles, attributes, and relationships as inputs rather than separate models. This lets ACME combine RBAC for broad job structure, ReBAC for collaboration, and ABAC for contextual control in one coherent architecture. The main message is that dynamic authorization works best as a layered strategy: choose the model, or mix of models, that best matches how access actually needs to be decided.

A relationship graph used by ACME Corp’s Customer Collaboration platform. Employees like Bob and Alice are linked to customer accounts through roles such as support engineer and solution architect. Access to resources such as support tickets and deployment plans is controlled by these relationships, allowing for dynamic, fine-grained authorization decisions based on who is connected to what and how.
 Relationship-based authorization using graph traversal and policy evaluation. Access is determined by analyzing relationships between principals and resources.
 The user interface for the application lets users affect access to documents by letting them change the relationship graph. In this figure, Bob is sharing “support ticket #456” with Kate, making her a Viewer.
Attribute-based authorization with principal, resource, and environment attributes. Access decisions are based on evaluating policies in the context of attributes from multiple sources. Alice’s attributes meet the policy conditions, so access is granted. Bob’s do not, so access is denied.

Summary

  • ACLs, RBAC, ReBAC, and ABAC each offer distinct approaches to authorization. They differ in how access decisions are described and enforced, ranging from simple lists to dynamic, context-aware policies.
  • ReBAC bases access on relationships between entities, such as ownership or team membership. This model works especially well in collaborative systems where access depends on organizational or social structures.
  • ABAC assesses policies based on attributes of the principal, resource, action, and environment. It enables fine-grained, real-time decisions using contextual information such as time, device, or location.
  • ReBAC treats policies as relationship data, with access determined by traversing a graph. Policy rules remain the same, while changes to relationships dynamically drive access decisions.
  • ABAC treats policies as code evaluated at runtime using current attribute values. This method offers flexible and auditable control but requires careful governance to avoid complexity.
  • PBAC combines RBAC, ReBAC, and ABAC by externalizing and dynamically evaluating policy logic. Roles, attributes, and relationships serve as policy inputs, ensuring consistent access control across different systems.
  • Different models solve different problems, and combining them results in better outcomes. A hybrid approach often provides the best balance of expressiveness, scalability, and maintainability.

FAQ

What problem did ACME Corp experience with RBAC as the company grew?RBAC initially brought order, but as ACME expanded, roles multiplied, permissions drifted, and the system became a patchwork of exceptions that no longer fit collaborative, multi-tenant work well.
Why did ACME Corp need dynamic authorization models instead of only static roles?Static roles could not capture context, relationships, and fine-grained conditions. ACME needed access decisions that reflected assignments, ownership, region, time, and other changing factors.
What is relationship-based access control (ReBAC)?ReBAC grants access based on relationships between entities, such as owner, viewer, editor, or manager of an owner, rather than just roles or fixed permissions.
How does ReBAC decide whether to allow access?ReBAC checks whether a valid path exists in the relationship graph between a principal and a resource that satisfies a policy condition, such as ownership, viewing rights, or management relationships.
Why is ReBAC a good fit for collaborative systems?It works well in document sharing, ticketing, customer portals, and other shared environments where access depends on who is connected to what and how they collaborate.
What is a key limitation of ReBAC?ReBAC is less suited to runtime conditions like time of day, device posture, or location. It can also be hard to debug and audit in large or densely connected graphs.
What is attribute-based access control (ABAC)?ABAC makes authorization decisions using attributes of the principal, resource, action, and environment, such as department, clearance level, region, time, or device status.
Why does ABAC work well for fine-grained access control?Because it evaluates policies dynamically against current attributes, it can enforce detailed, context-aware rules without creating many roles or hardcoding logic into the application.
What is policy-based access control (PBAC)?PBAC is a unified approach that externalizes authorization logic and evaluates policies at runtime, treating roles, attributes, and relationships as inputs to policy decisions.
How should teams choose between RBAC, ReBAC, and ABAC?Use RBAC for broad job responsibilities, ReBAC for collaborative and relationship-driven access, and ABAC for context-sensitive decisions. In many systems, the best approach is a combination of these models under PBAC.

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Authorization in Action ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Authorization in Action ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Authorization in Action ebook for free