Overview

1 Why authorization matters: Securing access in a digital world

Authorization is a foundational capability for modern digital systems because it determines not just who someone is, but what they are allowed to do. The chapter uses the Target breach as a cautionary example: attackers used stolen vendor credentials to move beyond the vendor’s legitimate access and reach sensitive payment systems, showing how weak authorization boundaries can turn a compromised account into a major incident. At the same time, authorization is not only a defensive security measure; it enables core product features in cloud services such as document sharing, multi-tenant SaaS, and large-scale platforms where different users, customers, devices, and services need carefully controlled access.

The chapter explains that traditional authorization approaches such as access control lists, groups, and role-based access control are often too static for today’s distributed, cloud-based, and multi-tenant environments. As systems grow, static permissions become difficult to scale, maintain, audit, and apply consistently. They struggle with changing context such as time, location, device posture, consent, job role, risk level, or temporary need. Dynamic authorization addresses these limitations by evaluating access requests at runtime using explicit, machine-readable policies. This makes access control more flexible, fine-grained, auditable, and aligned with zero trust principles, where every request must be evaluated rather than assumed safe.

The chapter presents policy-based access control as both an architectural pattern and a business enabler. By externalizing access decisions from application code, organizations can manage authorization through policies that are easier to test, update, review, and govern. It distinguishes between policies expressed as code, which define reusable rules, and policies represented as data, which capture relationships, attributes, and permissions that change over time; many systems need both. Dynamic authorization reduces operational costs, improves onboarding and offboarding, strengthens compliance, supports customer-facing features, enables faster product innovation, and helps organizations compete in environments shaped by SaaS, IoT, regulations, zero trust, and AI agents.

Embedding access logic throughout application code (left) creates tight coupling. Externalizing authorization into a separate component (right) makes access policies explicit, decouples decision-making from application behavior, and enables scalable, auditable access control.
Dynamic authorization can represent policy in two complementary ways. On the left, Policy as Code stores machine-readable policies in a repository that the access logic evaluates at runtime. On the right, Policy as Data stores relationships and attributes in a structured data store that the same access logic uses to determine decisions. Both approaches externalize policy from the application while supporting different kinds of flexibility.
A relationship graph representing access to a Google document. Rather than use static ACLs, this model captures roles (like Owner, Editor, Viewer) as first-class relationships between users and resources. The graph also models hierarchical relationships (such as parent folders), enabling more flexible, general-purpose authorization logic that can be queried and evaluated dynamically.
As an organization grows, the number of access policies tends to increase faster than linearly. Though a small organization might manage with a simple, flat set of policies, larger organizations face compounding complexity due to team structures, regional compliance, and overlapping responsibilities, leading to superlinear policy growth.

Summary

  • Poor access control can lead to severe security breaches, as seen in the Target breach, where attackers exploited weak authorization to access sensitive systems.
  • Authorization is not just about security; it also enables key features in modern cloud applications, such as document sharing and multi-tenant access control.
  • Traditional authorization methods like ACLs and RBAC are static and struggle with scalability, flexibility, maintainability, efficiency, auditability, and security.
  • Dynamic authorization overcomes these challenges by using policies to make real-time, context-aware access decisions.
  • Policy-based access control (PBAC) enables fine-grained authorization by externalizing access control logic, making it dynamic and adaptable to changing conditions.
  • The shift toward zero-trust security models, SaaS applications, IoT, regulatory compliance, and AI-driven applications demands more flexible and scalable access control, making dynamic authorization essential.
  • Policies can be represented as code or data, enabling both structured rule enforcement and flexible, real-time access adjustments.
  • Treating policy as code allows version control, testing, and automation, while policy as data supports fine-grained, user-defined access controls.
  • Organizations adopting dynamic authorization benefit from reduced operational costs, improved agility, enhanced security, and better customer experiences.
  • Businesses can use dynamic authorization as a competitive advantage, enabling new product capabilities, faster compliance adaptation, and stronger security.
  • Authorization is a strategic investment, not just a security measure—organizations that adopt policy-based access control gain efficiency, scalability, and security.

FAQ

What is the difference between authentication and authorization?Authentication determines who is making a request, while authorization determines what that entity is allowed to do. Authentication is how a system recognizes an entity; authorization is how the system controls access to actions, resources, and data.
Why does the Target breach illustrate the importance of authorization?The Target breach began with stolen credentials from an HVAC contractor, which was an authentication failure. But the breach became catastrophic because the attackers were able to use that vendor access to reach systems they should not have been able to access. This showed weak authorization boundaries and poor visibility into who could access what.
Why is digital identity described as managing relationships?Digital identity systems exist to help systems recognize, remember, and relate to entities such as people, organizations, services, devices, or AI agents. Online systems must solve the “proximity problem” because interactions happen at a distance, so identity systems provide the foundation for knowing who or what is interacting with the system and how access should be handled.
What are the main limitations of traditional static authorization approaches?Traditional approaches such as ACLs, groups, and roles are often static. They become difficult to scale, inflexible in dynamic situations, hard to maintain, inefficient in distributed systems, difficult to audit, prone to over-permissioning, and inconsistent across large organizations.
What is dynamic authorization?Dynamic authorization makes access decisions at runtime using policies, request context, attributes, and relationships. Instead of relying only on fixed roles or static permission lists, it evaluates the current situation—such as user role, device posture, location, time, resource attributes, or approval status—to decide whether access should be allowed.
What is Policy-Based Access Control (PBAC)?Policy-Based Access Control, or PBAC, externalizes access logic from application code and places it in policies evaluated by a policy engine. This makes authorization more flexible, fine-grained, auditable, and easier to maintain consistently across systems.
Why is authorization especially important for SaaS applications?SaaS applications are usually multi-tenant, meaning many customers use the same service instance. Strong authorization is required to isolate each customer’s data while also supporting different roles and permissions within each customer’s organization. Dynamic authorization helps SaaS providers deliver secure, flexible product features at scale.
How does dynamic authorization support zero trust security?Zero trust assumes that no user, device, or system should be trusted by default, even inside a network perimeter. It requires every access request to be evaluated. Dynamic authorization supports this by making fast, fine-grained decisions based on request context, identity attributes, resource attributes, and risk signals.
What is the difference between Policy as Code and Policy as Data?Policy as Code represents authorization rules as machine-readable, version-controlled text that can be tested, reviewed, and deployed like software. Policy as Data represents permissions, relationships, and attributes as structured data, often stored in databases or graphs. Both can be used together to support flexible, scalable authorization.
What are the business benefits of dynamic authorization?Dynamic authorization reduces operational costs, lowers administrative overhead, decreases over-permissioning, improves onboarding and offboarding, strengthens compliance, enables faster product innovation, improves customer experiences, and helps organizations differentiate through more flexible and secure access control features.

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