AC-24(1): Transmit Access Authorization Information
AC-24(1) requires you to transmit access authorization information (for example, identity, roles, attributes, and session context) using an approved method to the systems and components that actually make access control decisions. Operationally, you must define what authorization data is authoritative, how it is protected in transit, where it is consumed (apps, APIs, gateways), and retain evidence that the transmission path works as designed.
Key takeaways:
- Treat authorization data as a controlled security interface between identity systems and enforcement points, not an app-by-app convenience.
- Standardize a secure transmission pattern (token/claims, policy decision + policy enforcement, directory/attribute lookup) and prove it works end-to-end.
- Evidence is the frequent failure point: retain diagrams, configs, test results, and change records that show “transmit” and “enforce” in production.
The ac-24(1): transmit access authorization information requirement is about a common real-world gap: teams often define roles and permissions in one place, then “recreate” or “cache” them elsewhere without a controlled, secured, and testable path. NIST’s intent is straightforward: if a component enforces access, it must receive the correct authorization information through a defined mechanism, and you must control that mechanism.
This matters most in modern architectures where decisions are distributed: identity providers issue tokens, APIs enforce scopes, gateways validate claims, and microservices make fine-grained authorization calls. Without a defined transmission method, you get drift (stale entitlements), bypass (services trust unauthenticated headers), and inconsistent enforcement (role names don’t match across systems).
This page gives requirement-level implementation guidance a Compliance Officer, CCO, or GRC lead can assign and track. It focuses on what to standardize, what to test, what to collect as evidence, and how to answer an assessor’s questions without scrambling for screenshots at the end of an audit cycle.
Regulatory text
Requirement (verbatim): “Transmit {{ insert: param, ac-24.01_odp.01 }} using {{ insert: param, ac-24.01_odp.02 }} to {{ insert: param, ac-24.01_odp.03 }} that enforce access control decisions.” 1
Operator interpretation: You must (1) define what “access authorization information” is in your environment, (2) define the mechanism(s) you use to transmit it, and (3) ensure it is transmitted to the enforcement points (the components that make allow/deny decisions). 2
Plain-English interpretation
- “Access authorization information”: The data needed to decide whether a subject can access an object under specific conditions. In practice this may include user identity, group/role membership, attributes (department, clearance, device posture), session context, and policy decision outputs.
- “Transmit … using …”: You need a documented, approved transport pattern. Common patterns include signed tokens with claims, an authorization service call (policy decision point), or directory/attribute retrieval over secured protocols.
- “To … that enforce access control decisions”: The receiving end is the policy enforcement point: apps, APIs, gateways, message brokers, database proxies, VDI brokers, and administrative consoles that actually block or allow actions.
Who it applies to
AC-24(1) is most relevant in environments aligned to NIST SP 800-53, including:
- Federal information systems and contractor systems handling federal data, where NIST SP 800-53 is used to design and assess controls. 2
Operationally, it applies when you have:
- Central identity (IdP/IAM) and downstream enforcement (apps/APIs)
- Attribute-based access control (ABAC) or policy engines
- Zero trust patterns (continuous evaluation signals)
- Third-party or SaaS integrations where your systems accept externally asserted identity/authorization
What you actually need to do (step-by-step)
Step 1: Inventory enforcement points (where decisions happen)
Create a list of systems/components that enforce access decisions:
- Identity-aware proxies and API gateways
- Applications (including admin consoles)
- Microservices that check roles/claims
- Data layer enforcement (database roles, row-level security, object storage policies)
- Privileged access tooling (PAM brokers, session managers)
Output: “Access Enforcement Point Inventory” with owner, purpose, and how it receives authorization inputs.
Step 2: Define your authorization information model
Write a short specification that answers:
- What attributes are authoritative (roles, groups, entitlements, resource tags, session risk signals)?
- Where is the source of truth (directory, IAM, HR system, entitlement mgmt tool)?
- How are attributes named and versioned (avoid app-specific role strings)?
- What is the freshness requirement (real-time lookup vs token lifetime vs cache)?
Practical constraint: If you cannot define the model, you cannot prove you “transmit” the right data to enforcement points.
Step 3: Standardize approved transmission mechanisms
Pick and document the mechanisms you allow, and prohibit everything else. Typical patterns:
- Signed token with claims (authorization data embedded in token; enforcement validates signature and audience).
- Policy decision service call (enforcement point calls a centralized authorization service; service returns allow/deny and obligations).
- Directory/attribute query (enforcement point queries a directory/attributes store over approved secure protocols).
Your documentation should specify:
- Allowed protocols and crypto requirements (for example, “TLS required,” mutual auth where appropriate)
- Token validation rules (issuer, audience, expiry, signing keys)
- Trust boundaries (which systems can assert what)
- How to handle key rotation and claim schema changes
Control intent alignment: This is the “using {{…ac-24.01_odp.02…}}” part you must be able to point to. 1
Step 4: Implement secure transmission controls
For each mechanism, enforce technical guardrails:
- Integrity: receiving systems validate signatures or authenticated channels; no unsigned headers or “X-User” style claims.
- Confidentiality: protect authorization data in transit; treat it as sensitive because it can reveal privileges.
- Replay resistance: short-lived tokens, nonce/session binding, or back-channel introspection where needed.
- Least privilege of assertions: only the IdP/authorization service can mint authorization claims; apps cannot self-assert.
Step 5: Map authorization transmission to each enforcement point
For every enforcement point, document:
- What authorization info it consumes (claims, group IDs, policy decision)
- How it receives it (token, API call, directory lookup)
- What it does when authorization info is missing, invalid, or stale (fail closed vs fail open, and the justified exception if any)
- How changes propagate (revocation, role changes, termination)
A simple mapping table is audit-friendly:
| Enforcement point | Authorization input | Transmission method | Validation/enforcement | Owner |
|---|---|---|---|---|
| API Gateway | scopes/roles | signed token | signature + audience + scope check | Platform |
| Service A | resource attributes | authz service call | allow/deny + obligations | App team |
| Admin console | groups | directory lookup | group-to-role mapping | IAM |
Step 6: Test and continuously verify
You need repeatable tests that prove:
- A valid subject with correct authorization gets access
- An invalid/expired token or missing attributes are rejected
- Role removal/termination propagates as designed
- No alternate path bypasses enforcement (for example, direct-to-service without gateway)
Keep tests lightweight but consistent: scripted integration tests, configuration checks, and periodic access reviews aligned to the transmission model. 2
Step 7: Assign ownership and evidence cadence
AC-24(1) often fails because “everybody” owns it. Set:
- Control owner: typically IAM or Security Architecture
- System owners: for each enforcement point
- Evidence owner: GRC or the control owner, with a defined collection process
Daydream can help here by mapping AC-24(1) to a named owner, a written implementation procedure, and recurring evidence artifacts so you can produce consistent audit packets instead of one-off screenshots.
Required evidence and artifacts to retain
Assessors usually want proof of: definition, implementation, and operation. Retain:
- Authorization information specification (attributes, schema, sources of truth)
- Architecture diagrams/data flow diagrams showing how authorization info moves to enforcement points
- Configuration exports for IdP, gateways, policy engines, directory integrations (redact secrets)
- Token/policy validation settings (issuer/audience rules, signing key rotation evidence)
- Test evidence: results showing deny/allow behavior and failure handling
- Change management records for claim schema changes, key rotation events, or authz service updates
- Exception register for any enforcement point that cannot conform yet, with compensating controls and a remediation plan
Common exam/audit questions and hangups
Expect these:
- “Show me which components enforce access and how they receive authorization info.”
- “Where is the authoritative source for roles/attributes?”
- “How do you prevent an application from trusting spoofed authorization headers?”
- “What happens if the authorization service is down?”
- “How do you handle deprovisioning and rapid privilege removal across distributed systems?”
Hangups that stall audits:
- No single inventory of enforcement points
- “We use SSO” as the only explanation (SSO authenticates; AC-24(1) is about authorization transmission to enforcement)
- Token claims differ across apps with no schema governance
Frequent implementation mistakes and how to avoid them
-
Mistake: trusting unverified upstream assertions.
Fix: enforce signature validation, mTLS where appropriate, and strip/overwrite inbound identity headers at trust boundaries. -
Mistake: copying roles into app databases with ad hoc sync.
Fix: standardize on tokens/claims or a central authorization decision service; if caching is required, document refresh and revocation behavior. -
Mistake: unclear “fail open” behavior.
Fix: define and test failure modes. If any component fails open, document the risk acceptance and compensating controls. -
Mistake: no evidence trail.
Fix: predefine evidence artifacts (diagrams, configs, tests) and collect them on a routine schedule. Daydream-style control mapping helps keep this from becoming a scramble.
Enforcement context and risk implications
No public enforcement cases were provided in your source data for AC-24(1), so you should treat this as an assessment readiness and breach-prevention control rather than a “case law” control. The practical risk is straightforward: if authorization information is not reliably transmitted to enforcement points, access control decisions become inconsistent, bypassable, or stale. That shows up as excessive access, privilege retention after role changes, and unauthorized data access pathways. 2
A practical execution plan (30/60/90-day)
Use phases rather than calendar promises; the work depends on architecture and system count.
First 30 days (Immediate stabilization)
- Assign control owner and identify system owners for enforcement points.
- Build the enforcement point inventory and pick your “approved transmission mechanisms.”
- Document the authorization information model at a minimum viable level (roles/groups/attributes and sources of truth).
- Identify the top risk enforcement points (internet-facing APIs, admin tooling, high-value data systems) for early validation.
By 60 days (Standardization and coverage)
- Implement guardrails at trust boundaries (gateway/header controls, token validation baselines).
- Complete enforcement point mappings for critical systems.
- Define test cases and run initial end-to-end authorization transmission tests.
- Stand up an exceptions register with remediation plans for nonconforming legacy systems.
By 90 days (Operationalization)
- Expand mapping and testing coverage to remaining enforcement points.
- Integrate evidence capture into normal operations (change management hooks, quarterly config exports, recurring test runs).
- Run an internal assessment dry-run: can you demonstrate transmit + enforce for representative user journeys?
- Automate evidence collection where possible and centralize artifacts for audit response.
Frequently Asked Questions
What counts as “access authorization information” for AC-24(1)?
It is the data required to decide allow/deny at the enforcement point, such as roles, groups, attributes, scopes, and policy decision outputs. Define it explicitly for your environment and treat the definition as controlled documentation. 1
Does SSO automatically satisfy AC-24(1)?
No. SSO can authenticate users, but AC-24(1) focuses on transmitting authorization information to the components that enforce access decisions. You still need evidence of how roles/attributes/decisions reach the enforcement points. 2
Are JWT claims an acceptable transmission method?
They can be, if the enforcement point validates signature, issuer, audience, expiry, and any other required constraints, and you govern the claims schema. Document the standard and prohibit unsigned or app-invented claims paths. 2
What if we have multiple authorization sources (IAM plus app-level permissions)?
Treat this as a design risk and reconcile it into a single model where possible. If an app must keep local entitlements, document how it synchronizes from the source of truth and how revocation is handled, then test it.
How do we handle third-party SaaS enforcing access based on our identity assertions?
Document the trust relationship and transmission method (federation, tokens, or provisioning) and ensure the SaaS enforcement configuration matches your authorization model. Keep evidence of configuration and periodic verification since enforcement happens outside your infrastructure.
What evidence do auditors ask for most often?
They usually ask for an enforcement point inventory, data flow/architecture showing authorization transmission, configuration proof (token validation, policy callouts), and test results demonstrating deny behavior when authorization info is missing or invalid.
Footnotes
Frequently Asked Questions
What counts as “access authorization information” for AC-24(1)?
It is the data required to decide allow/deny at the enforcement point, such as roles, groups, attributes, scopes, and policy decision outputs. Define it explicitly for your environment and treat the definition as controlled documentation. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
Does SSO automatically satisfy AC-24(1)?
No. SSO can authenticate users, but AC-24(1) focuses on transmitting authorization information to the components that enforce access decisions. You still need evidence of how roles/attributes/decisions reach the enforcement points. (Source: NIST SP 800-53 Rev. 5)
Are JWT claims an acceptable transmission method?
They can be, if the enforcement point validates signature, issuer, audience, expiry, and any other required constraints, and you govern the claims schema. Document the standard and prohibit unsigned or app-invented claims paths. (Source: NIST SP 800-53 Rev. 5)
What if we have multiple authorization sources (IAM plus app-level permissions)?
Treat this as a design risk and reconcile it into a single model where possible. If an app must keep local entitlements, document how it synchronizes from the source of truth and how revocation is handled, then test it.
How do we handle third-party SaaS enforcing access based on our identity assertions?
Document the trust relationship and transmission method (federation, tokens, or provisioning) and ensure the SaaS enforcement configuration matches your authorization model. Keep evidence of configuration and periodic verification since enforcement happens outside your infrastructure.
What evidence do auditors ask for most often?
They usually ask for an enforcement point inventory, data flow/architecture showing authorization transmission, configuration proof (token validation, policy callouts), and test results demonstrating deny behavior when authorization info is missing or invalid.
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream