Overview

4 Authorization: What can you do?

Authorization is presented as a distinct and critical layer of security that goes far beyond authentication. The chapter opens with the Ring incident to show that correctly verifying identity is not enough if the system cannot control what authenticated users are allowed to do. The main lesson is that authorization answers the harder question of whether a person, service, or device should be permitted to take a specific action on a specific resource under specific conditions, and that this question is continuous, contextual, and business-critical.

To make authorization understandable, the chapter introduces a shared vocabulary and the PARC model: principal, action, resource, and conditions. These concepts provide a practical way to describe access decisions, along with related terms such as roles, attributes, permissions, entitlements, policies, groups, and authorization requests and responses. The text emphasizes that access control is the broader discipline, while authorization is the enforcement mechanism that turns policy into runtime decisions based on identity and context.

The chapter then explains the reference architecture that underlies modern authorization systems, centered on the Policy Enforcement Point, Policy Decision Point, Policy Administration Point, and Policy Information Point. Using an ACME example, it shows how requests are intercepted, enriched with contextual data, evaluated against centrally managed policies, and then allowed or denied. It also compares deployment patterns such as embedding enforcement in applications, placing it in API gateways, or using sidecars and distributed authorization clients, arguing that the best choice depends on latency, availability, trust boundaries, and operational needs.

Relationships among key authorization terms. Principals, actions, and resources form the core of access decisions and are enriched with attributes, roles, and group memberships. All entities exist within namespaces and can be either principals or resources. The diagram also shows the legacy term subject as an older equivalent of principal and illustrates how actions operate on resources based on contextual and identity-based properties.
Authorization reference architecture showing how access decisions are made. The Policy Enforcement Point (PEP) intercepts Alice’s request to ACMEProject and sends it to the Policy Decision Point (PDP). The PDP evaluates the request using policies from the Policy Administration Point (PAP), managed by Carol, and retrieves context from the Policy Information Point (PIP), which sources attributes from systems such as identity providers, time servers, and network telemetry. The PDP returns a decision, which the PEP enforces in real time.
The Policy Enforcement Point (PEP) embedded in application code. In this model, the PEP is implemented directly within the ACMEProject backend, allowing it to evaluate access decisions with full visibility into the application’s internal state and context.
The Policy Enforcement Point (PEP) deployed in an API gateway. In this model, the PEP sits in front of ACMEProject, intercepting and evaluating access requests before they reach the application. This approach centralizes enforcement and simplifies policy updates across multiple services.
The Policy Enforcement Point (PEP) deployed as a sidecar. In this model, the PEP runs alongside the application, typically within the same container or virtual machine (VM). This approach ensures that policies are enforced locally at the service level without altering the core application architecture.
Centralized authorization architecture at ACME Corp. Multiple application-specific PEPs send access requests to a shared PDP, which evaluates them using policies Carol authored and manages in the PAP. This approach centralizes decision-making and simplifies policy updates, but it introduces potential availability concerns.
Distributed authorization architecture at ACME Corp. Each service includes an authorization client, a bundled component that contains the PEP, PDP, and an entity cache. The client may be deployed as a sidecar (ACMEFinance), as a library within application code (ACMEProject), or integrated into an API gateway (ACMEHR). Policies are authored and managed by Carol via the Policy Administration Point (PAP) and then distributed to each client. Contextual data is retrieved from shared PIPs, such as identity stores, time servers, and network telemetry, and is cached inside the client.

Summary

  • Authorization defines what an authenticated principal can do, under which conditions, and with which resources. This discipline is separate from authentication and plays a crucial role in security, compliance, and user experience.
  • Authorization not only protects resources but also governs interactions between entities based on the terms of their digital relationships.
  • The PARC model—principal, action, resource, and conditions—offers a clear and flexible framework for describing access decisions.
  • Terms such as policy, role, attribute, and entitlement form the foundation of modern authorization systems and foster a shared understanding across teams.
  • The authorization reference architecture delineates the responsibilities of enforcement, decision-making, policy management, and context retrieval, thereby improving system maintainability, auditability, and security.
  • Deployment patterns vary depending on system architecture. PEPs, PDPs, and entity caches can be embedded, centralized, or distributed based on performance, trust boundaries, and operational requirements.
  • Separating concerns among PEPs, PDPs, PAPs, and PIPs allows systems to scale, maintain consistency, and respond flexibly to evolving business and regulatory needs.

FAQ

Why isn’t authentication enough for controlling access?Authentication only verifies identity — it answers “Who are you?” — but it does not decide what that person is allowed to do. Authorization is needed to enforce rules about actions, resources, and context, such as time, device, or location.
What went wrong in the Ring example?Ring authenticated users correctly, but it failed to enforce meaningful authorization controls. Employees and contractors could access customer video feeds without proper limits, contextual checks, or policy-based restrictions, which led to privacy violations and regulatory consequences.
What is authorization, in simple terms?Authorization is the mechanism that determines whether a verified identity is allowed to perform a specific action on a specific resource under specific conditions. It turns identity into enforceable access decisions.
How is access control different from authorization?Access control is the broader discipline or strategy for managing access to systems, data, and resources. Authorization is the enforcement mechanism within that strategy — it makes the actual allow/deny decision at runtime.
What is the PARC model?PARC is a mental model for access decisions: Principal, Action, Resource, and Conditions. It helps describe who is requesting access, what they want to do, what they want to do it to, and under what circumstances the request should be allowed.
What do principal, action, resource, and conditions mean?A principal is the entity making the request, such as a user, service, or device. The action is the operation being attempted, like read or delete. The resource is the object being accessed. Conditions are contextual factors such as time, location, device trust, or workload identity.
What are roles, attributes, permissions, and entitlements?A role is a named collection of permissions tied to a function or job. Attributes are characteristics of principals, resources, or environments that affect decisions. Permissions are specific rights to perform actions on resources. Entitlements are the effective permissions a principal has at a given moment.
What is a reference architecture in authorization?A reference architecture is a high-level blueprint that shows the essential components and relationships in an authorization system. It does not prescribe one exact implementation, but it helps teams structure systems consistently and understand how the parts fit together.
What are the four main components of the authorization reference architecture?The four components are the Policy Enforcement Point (PEP), which intercepts access requests; the Policy Decision Point (PDP), which evaluates requests; the Policy Administration Point (PAP), where policies are created and managed; and the Policy Information Point (PIP), which provides contextual data and attributes.
What deployment patterns are common for authorization systems?Common patterns include embedding the PEP in application code, placing it in an API gateway, or deploying it as a sidecar in a service mesh. Decision-making can also be centralized in a shared PDP or distributed across services with local authorization clients and cached context.

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