liveBook · Manning

Dynamic adaptability

As explained in Authorization in Action

Dynamic authorization is an access-control technique that evaluates whether access is permitted at request time using current context and authorization information.

Dynamic adaptability in authorization means deciding access at request time from current policy and current facts. Rather than relying only on preconfigured permissions, groups, or roles, it evaluates the principal, action, resource, relationships, and surrounding context. A policy can therefore account for time, location, device management, approval, or a changing business relationship when the request occurs. section 1.4 section 1.5.1

Static access controls such as access control lists (ACLs) and role-based access control (RBAC) remain useful, but exceptions can multiply roles, lists, and code paths. A temporary contractor exception may require a special role; cross-team access can create overlapping assignments whose effective permissions are difficult to predict or audit. Runtime evaluation lets access adjust when assignments, relationships, or other relevant conditions change. section 1.2 section 1.2.3

Time-bound production access

A developer may access a production system only while on call, from a company-managed device, or during business hours. A sensitive action may additionally require peer or manager approval. These are not permanent grants: the decision changes as on-call status, device posture, time, or approval changes. section 1.2.2 section 7.0

Dynamic adaptability moves authorization from scattered application checks toward explicit, reviewable decisions:

  • Represent policy as machine-readable, version-controlled rules or as structured relationship and attribute data; both can feed a common decision engine. section 1.4
  • Combine authorization models rather than force every decision into one model: RBAC can cover job responsibilities, relationship-based access control (ReBAC) collaboration, and attribute-based access control (ABAC) contextual conditions. section 6.3.3
  • Externalize decision logic while keeping enforcement in the application, so access rules can change without rewriting each feature’s specialized checks. section 1.5.2
  • Treat policy inputs as security-critical: context must be accurate, secure, sufficiently fresh, and structured for evaluation. section 12.7
Figure 1.2 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.

Policy as Code and Policy as Data are complementary representations: one stores rules as text, while the other stores relationships and attributes used by the same runtime access logic. section 1.4

This approach is especially useful where access conditions vary across tenants, departments, regions, partners, devices, or regulated data. A SaaS service can keep customer data isolated while supporting different customer administration needs. An IoT deployment can decide from device attributes, risk, and environmental factors. Privacy and regulatory policies can use attributes of both the requester and the data, including consent, duty status, or purpose. section 1.3.1 section 1.3.3 section 1.3.4

Adaptability does not remove governance. Policies need owners, review and approval processes, tests, monitoring, and accountability. Version-controlled policies can be reviewed and tested before deployment; decision logs can record the request, result, and contributing inputs. These practices make authorization behavior more explainable and provide evidence for audits, while avoiding hidden assumptions across code, directories, and administrative processes. section 1.5.4 section 10.4

Reliable identity data is a prerequisite for reliable runtime decisions. Policies depend on current, trustworthy signals about principals, resources, relationships, environment, and purpose. Ambiguous, stale, incomplete, or misleading identity information weakens the policy decision; as every request receives greater scrutiny, scalable identity infrastructure becomes increasingly important. section 2.8 section 2.2.6

The operational payoff is an authorization architecture that can express changing requirements as policy rather than proliferating special-purpose roles and code. It can support least privilege, temporary access, delegated administration, customer-specific controls, and consistent auditing—but only when policy, context, enforcement, identity, deployment, monitoring, and governance are integrated. section 1.5.6 section 1.6

How Authorization in Action covers it

How deep it goes
Explains runtime policy evaluation, representations, combined models, context freshness, and governance, without prescribing one required implementation.
Examples
Uses after-hours fund transfers, on-call production access, managed devices, document sharing, SaaS tenants, and IoT devices.
What it assumes
Explains authorization from static permissions and roles, while requiring trustworthy identity and context signals for deployment.
What you can do after
Evaluate/understand how runtime policies replace static exceptions with context-sensitive, reviewable access decisions.
How it connects
Connects policy-based access control, ACLs, RBAC, ABAC, ReBAC, identity, authentication, and zero-trust security.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Authorization in Action. The section links point to the parts of the book it draws on.