liveBook · Manning

Chapter 13: Using policy engines with existing systems

What you will learn in chapter 13 of Authorization in Action

The introduction explains why ACME must modernize authorization as its internal collaboration platform becomes a multi-tenant SaaS service, while retaining its existing sharing model.

After this chapter you will be able to

What it builds on

Section by section

Introduction

The introduction explains why ACME must modernize authorization as its internal collaboration platform becomes a multi-tenant SaaS service, while retaining its existing sharing model.

Key terms: externalized authorization, policy engine, Customer Collaboration Cloud (C³), platform authorization layer, ReBAC, tenant workspaces, tenant isolation

13.1 From internal tool to external service: ACME’s next chapter

ACME’s internal collaboration tool becomes a multi-tenant cloud service that retains ReBAC sharing within a new, two-layer authorization architecture.

Key terms: single-tenant, multi-tenant, tenant, administrative boundary, platform authorization layer, tenant-level authorization, ReBAC, namespace

13.2 Understanding the starting point

The section explains why ACME’s project-ID checks were inadequate for a shared cloud service and how externalizing authorization would change its approach.

Key terms: project_id, trust boundary, formal tenant model, tenant isolation, embedded in application logic, duplicate logic, opaque policy, externalizing authorization, structured authorization requests, policy engine

13.3 Identity and tenancy foundation for C³

ACME’s move to a multi-tenant Customer Collaboration Cloud requires an identity and tenancy foundation before it can create new policies.

Key terms: identity, tenancy, multi-tenant environment, enforceable boundary, identity providers, ACME’s identity system, administrative dependency

13.3.1 From project IDs to tenants

This section explains how C³ replaces project IDs with explicit tenant boundaries that authorization can enforce.

Key terms: project IDs, tenant_id, authorization model, tenant, namespace, tenant directory

13.3.2 Unified customer identity via OIDC

C³ uses OIDC for customer authentication, gives both customer identity modes a common token shape, and obtains changing authorization data from PIPs.

Key terms: OpenID Connect (OIDC), Federated OIDC, Hosted OIDC, identity provider, tenant directory, tokens, sub, iss, aud, tenant_id

13.3.3 Device posture for ACME employees

This section explains why ACME checks device posture for its own employees but not for tenant customers, and how employee posture informs platform authorization.

Key terms: device posture, posture tokens, signed compliance attestations, PEP, OIDC token, signed posture token, platform policies, tenant-scoped authorization model

13.4 Designing for externalized authorization

C³ moves authorization decisions out of application code by having PEPs construct requests for PDPs, which evaluate platform and tenant rules.

Key terms: PEP, PDP, normalized authorization request, authority context, confused deputy problem, initiating principal, PARC, tenant, context, platform rules

13.4.1 Platform and tenant PDPs

This section explains how C³ separates platform-wide authorization from tenant-specific collaboration decisions.

Key terms: C³ PDP, tenant PDPs, platform policies, tenant’s namespace, ReBAC graph

13.4.2 Deployment options for tenant PDPs

ACME offers shared and dedicated tenant PDP deployments while preserving tenant isolation and a consistent division between platform governance and collaboration decisions.

Key terms: shared PDP cluster, tenant’s namespace, tenant_id, policy bundle, dedicated PDP instances, shared schema, platform policies, approved templates, C³ PDP

13.4.3 Authorization request flow

Traces a C³ authorization request through global and tenant policy checks, then explains why the example uses two layers rather than one unified policy stack.

Key terms: C³, global PEP, C³ PDP, tenant PEP, tenant PDP, PARC, global PEP/PDP pair, tenant-specific PEP/PDP pairs, unified policy layer, tenant_id

13.5 Policy enforcement points in the stack

C³ places policy enforcement at multiple points in the stack so requests are covered with the right context, while backend decisions remain authoritative.

Key terms: PEPs, platform edge, collaboration services, request path, UI, policy information, backend enforcement

13.5.1 Global enforcement: The ACME gateway

This section explains how the ACME gateway enforces platform-wide requirements before requests reach tenant services, and why tenant-level checks remain necessary.

Key terms: OIDC tokens, device posture tokens, tenant context, C³ PDP, normalized authorization context, edge enforcement point, platform-wide requirements, relationship context, document-level collaboration decisions

13.5.2 Tenant-level enforcement: Collaboration services

Tenant collaboration services enforce fine-grained access after the platform gateway, using tenant-specific decisions and data close to the protected operation.

Key terms: PEP, tenant PDP, Cedar policy actions, ReBAC policies, permit, service PEPs, richer context, lower latency, service integration

13.5.3 UI and client-side enforcement

Explains how C³ uses authorization decisions to make its UI useful and its access lists accurate without treating client-side behavior as security enforcement.

Key terms: UI, gateway, service PEP, backend enforcement, ReBAC graph, candidate principals or resources, discovery questions, partial evaluation, policy residual, scope prefilter

13.5.4 Consistency through shared components

This section explains how shared components keep authorization requests consistent across C³’s distributed enforcement points.

Key terms: shared components, request-building library, PEPs, principal, action, resource

13.5.5 Operational tradeoffs

Compares the operational strengths of gateway, service, and UI enforcement in C³ and explains why the layers work together.

Key terms: gateway PEPs, service PEPs, UI enforcement, platform boundary, resource context

13.5.6 Three layers of policy

C³ separates policies by scope and ownership so tenants can customize collaboration without gaining control over platform rules.

Key terms: system policies, global application policies, tenant policies, ReBAC, scope, ownership, tenant customization, platform authority

13.5.7 Shared schema and type safety

This section explains how a shared Cedar schema, prepublication checks, and controlled templates let C³ tenants customize authorization without weakening platform constraints.

Key terms: shared Cedar schema, entity types, action names, tenant namespace, shared schema, representative data, type errors, invalid attributes, policy template, parameter value

13.5.8 Policy life cycle and distribution

This section explains how ACME creates, validates, scopes, distributes, audits, and rolls out policies for shared and dedicated PDPs.

Key terms: approved templates, shared schema, validation, central policy repository, tenant_id, policy distribution service, policy bundle, PDP, policy_id, version

13.5.9 Governance and safety

This subsection explains how C³ lets tenants customize access without overriding ACME’s higher-level safeguards.

Key terms: tenant policies, system or application policies, default-deny model, higher-level guardrails

13.5.10 Benefits of the layered model

This section explains how C³’s layered authorization model separates platform and tenant responsibilities while preserving shared auditability and policy-as-code controls.

Key terms: layered model, tenant boundaries, namespaces, approved configuration options, schema, policy repository, validation process, logging format, tenant_id, policy_id

13.6 Case studies inside ACME

Introduces ACME’s pilot case studies, each testing a different boundary of its two-layer authorization model.

13.6.1 Case 1: Cross-tenant legal review

This case shows how layered policies let ACME’s legal team review documents across customer tenants without granting broad access or building tenant-specific workflows.

Key terms: PEP, C³ PDP, system policy, application policy, compliant devices, metadata, layered architecture, data residency, compliance boundaries, overreach risk

13.6.2 Case 2: Support escalation

The section shows how ACME grants temporary, approved support access to a customer tenant while enforcing its scope through policy.

Key terms: support portal, delegated access, short-lived credential, PEP, PARC authorization request, system policies, ABAC, time-limited, attribute-based access, confused-deputy failures

13.6.3 Case 3: Custom collaboration template

A customer uses a tenant-specific policy template to extend collaboration to outside contractors while ACME retains application-level safeguards.

Key terms: policy-template system, tenant administrator, collaborator, Cedar rule, tenant’s dedicated PDP, application-layer policies

13.6.4 Case 4: Automated backup verification

This case shows how C³ authorizes a nightly backup process outside the tenant scope while keeping it within the platform’s auditing and governance framework.

Key terms: system PEP, service credential, system PDP, shared schema, logging pipeline

13.6.5 Lessons from the pilots

The section draws lessons from ACME’s pilots and shows that layered, externalized authorization applies across trust boundaries beyond multi-tenant SaaS.

Key terms: platform policies, tenant policies, templates, shared schemas, logs, externalized authorization, trust boundaries, ABAC, ReBAC, PDPs

13.7 Putting lessons into practice

C³’s migration provides a flexible integration pattern for policy engines and shows why externalized authorization requires operational coordination and governance.

Key terms: policy engine, identity model, enforcement points, schemas, visibility queries, auditable, operational dependencies, governance, policy layer, signals

13.8 Summary

Where this is used later

Concepts explained in this chapter

← Chapter 12: Authorization context Chapter 14: Policy governance →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.