AC-2(2): Automated Temporary and Emergency Account Management
To meet the ac-2(2): automated temporary and emergency account management requirement, you must automatically disable, remove, or otherwise terminate temporary and emergency accounts after a defined condition and time window, without relying on manual follow-up. Operationalize it by standardizing how these accounts are created, tagging them, and enforcing auto-expiration in your identity system with auditable logs.
Key takeaways:
- Define what “temporary” and “emergency” accounts mean in your environment, then enforce automatic expiration in the identity layer.
- Require pre-approval (or tightly controlled break-glass workflow), time-bound access, and post-event review for emergency access.
- Keep evidence that proves automation worked: configuration, account inventories, and termination logs tied to each event.
AC-2(2) is one of those controls that looks simple in policy but fails in operations: teams create “just for today” accounts for contractors, incident response, or production troubleshooting, and those accounts quietly persist. The control’s intent is to eliminate that drift by making expiration automatic, consistent, and provable.
For a Compliance Officer, CCO, or GRC lead, the fastest path is to treat this as an identity engineering requirement, not a documentation exercise. You need (1) a clear standard for when temporary or emergency accounts are permitted, (2) a workflow that forces an expiration condition at creation time, and (3) technical enforcement that automatically disables or deletes accounts when the condition is met. “Condition” can be a time threshold, an incident closure, a change ticket completion, or a combination, but it must be defined and implemented.
This page gives requirement-level implementation guidance you can hand to IAM, SecOps, and system owners to get AC-2(2) operating with durable evidence.
Regulatory text
Requirement (excerpt): “Automatically {{ insert: param, ac-02.02_odp.01 }} temporary and emergency accounts after {{ insert: param, ac-02.02_odp.02 }}.” 1
What the operator must do
You must implement automatic lifecycle actions for accounts classified as temporary or emergency. In practice, that means:
- You define what “temporary” and “emergency” accounts are.
- You define the trigger (“after X”) that ends their validity.
- Your systems enforce termination automatically (disable, delete, revoke credentials, and/or remove group memberships), and you can produce evidence that the automation ran. 2
Plain-English interpretation
AC-2(2) requires you to stop relying on humans to remember to clean up time-bound access. Temporary accounts (for a contractor, intern, or short project) and emergency accounts (break-glass or incident-response access) must be created with an expiration rule, and your IAM or target system must execute that rule automatically.
Auditors usually look for two things:
- No “forever temporary” accounts. Anything created for a limited purpose must have a defined end.
- Automation is real, not aspirational. “We set a calendar reminder” is not automation. Automation means the platform enforces disablement/removal without a manual ticket at the end.
Who it applies to
Entity types (common applicability)
- Federal information systems, federal contractors, and contractor systems handling federal data.
- Service organizations that inherit 800-53 requirements via customer contracts or authorization boundaries. 2
Operational context (where this control breaks most often)
- Identity providers (IdP) and directories: Entra ID / Azure AD, Okta, AD, LDAP.
- Privileged access: PAM tools, local admin accounts, cloud IAM roles, database admins.
- Incident response: break-glass accounts, on-call escalation access, “temporary prod access.”
- Third-party access: contractors, consultants, support vendors, MSP accounts.
What you actually need to do (step-by-step)
Step 1: Define account classes and end conditions (policy that engineers can implement)
Create two explicit definitions and keep them short:
- Temporary account: Created for a bounded business purpose with a predetermined end condition (often date/time).
- Emergency account: Created or activated for urgent operational need (incident response, outage, forensics) with a short validity period and mandatory post-use review.
Then define “after {{…}}” in operational terms. Examples you can choose from:
- “After the approved end date/time in the access request”
- “After the incident ticket is moved to resolved/closed”
- “After the change record is completed”
- “After a maximum duration approved by the control owner”
Pick conditions you can enforce automatically; otherwise you will fail the “automated” part.
Step 2: Standardize intake so expiration is mandatory
Require that every request to create or activate temporary/emergency accounts includes:
- Requestor, business justification, and system scope
- Account type (temporary vs emergency)
- Expiration condition (date/time or ticket-based)
- Approver (system owner, incident commander, or delegated authority)
- Required entitlements (groups/roles) and least-privilege constraints
If you let teams create accounts outside the workflow (CLI, local console, ad-hoc admin UI), you will end up with exceptions that become the norm.
Step 3: Implement identity-layer automation (preferred) or system-layer automation (fallback)
Preferred design: enforce expiration in the authoritative identity source, then propagate downstream.
- Tag accounts with an attribute such as
account_type=temp|emergencyandexpires_at=timestamp. - Use native lifecycle management features or automation jobs to disable/delete when
expires_atis reached. - Ensure deprovisioning removes group memberships, API tokens, sessions, and privileged role assignments.
Fallback design: if the target system is authoritative (some SaaS apps, legacy platforms), implement system-specific automation:
- Scheduled jobs that query temp/emergency accounts and disable them based on stored expiration metadata.
- Guardrails to prevent creating such accounts without expiration fields populated.
Step 4: Treat “emergency” as break-glass with tight guardrails
Emergency access often fails because it bypasses normal approvals. Make it controlled, not informal:
- Use a dedicated emergency access path (PAM break-glass, emergency group, or time-bound elevation).
- Require a unique identifier tying access to an incident or outage ticket.
- Require a post-event review that confirms the account was terminated and access was appropriate.
Step 5: Run recurring control health checks (prove the automation is working)
Build a lightweight operational check that answers:
- “How many temporary and emergency accounts exist right now?”
- “How many are past expiration?”
- “Did the automation disable/delete accounts as expected?”
- “Are there systems creating accounts outside the workflow?”
Track findings to closure with owners and due dates. This is how you prevent silent control decay. 2
Step 6: Create a requirement control card (runbook-level clarity)
Write a one-page control card that includes:
- Objective: auto-terminate temporary and emergency accounts
- Owner: IAM lead (primary), with SecOps and app owners as stakeholders
- Trigger events: account creation/activation, incident closure, scheduled job runs
- Execution steps: intake, tagging, automation, review, exception handling
- Exceptions: allowed scenarios, approval authority, compensating controls, time limits This is the fastest way to make AC-2(2) testable and repeatable in audits. 2
Required evidence and artifacts to retain
Keep evidence that proves both design and operation:
Design evidence (what you configured)
- Control card / runbook for AC-2(2)
- IAM/PAM configuration screenshots or exports showing:
- Attribute schema (e.g.,
expires_at) - Lifecycle or workflow rules that disable/delete accounts automatically
- Break-glass configuration and constraints (where used)
- Attribute schema (e.g.,
- Standard operating procedure for emergency access, including post-event review steps
Operating evidence (what actually happened)
- Exported list of temporary and emergency accounts with:
- Creation date, owner, and expiration condition
- Termination timestamp and method (disabled/deleted)
- Logs showing the automation ran (job execution logs, IdP event logs, SIEM events)
- Samples of access requests and approvals that include expiration details
- Evidence of periodic health checks and remediation tickets to closure
Evidence tip: auditors love before/after artifacts for a sample set, such as “request approved” + “account created with expiry” + “auto-disabled event.”
Common exam/audit questions and hangups
- “Show me all temporary accounts and their expiration dates.”
- “How do you ensure emergency access is revoked automatically?”
- “What prevents admins from creating ‘temporary’ accounts without an expiry?”
- “Do you delete accounts or disable them? How do you decide?”
- “Show an example where the automation terminated the account without human action.”
- “How do you handle exceptions and prove they are time-bound?”
Hangup to expect: teams provide a policy statement but cannot produce system evidence that expiration is enforced.
Frequent implementation mistakes (and how to avoid them)
- Relying on reminders or manual tickets for cleanup. Fix: enforce expiration in IAM/PAM tooling so termination is platform-driven.
- No consistent tagging. Fix: require
temporary/emergencyclassification and anexpires_atfield at creation time; block creation if missing. - Emergency access treated as “special admin.” Fix: implement a distinct break-glass path with automatic expiry and post-event review.
- Automation disables the account but leaves tokens/keys active. Fix: include credential revocation and group/role removal in deprovisioning.
- Scope gaps (SaaS, databases, cloud consoles). Fix: maintain a system inventory of where accounts exist and document which system is authoritative for expiration.
Enforcement context and risk implications
No public enforcement cases were provided in your source set, so this guidance does not cite enforcement actions. Practically, AC-2(2) reduces the likelihood that expired access becomes an unmonitored backdoor, especially for privileged or third-party access paths. Expect this control to be tested indirectly during incident reviews, privileged access audits, and customer due diligence because it is easy to validate with account inventories and logs. 2
Practical 30/60/90-day execution plan
First 30 days (stabilize and define)
- Assign a single control owner (IAM) and publish the AC-2(2) control card.
- Define “temporary” vs “emergency,” permitted use cases, and required approval paths.
- Identify where these accounts exist today (IdP, PAM, key systems).
- Set the standard expiration mechanism (attribute + enforcement point).
Days 31–60 (implement and integrate)
- Implement mandatory expiration fields in the request workflow.
- Configure auto-disable/delete and role/group removal for accounts with
expires_at. - Implement emergency access workflow with automatic expiry and ticket linkage.
- Build initial evidence exports (account list + expiry + termination events).
Days 61–90 (prove operation and harden)
- Run control health checks and remediate stragglers (accounts without expiry, past-due accounts).
- Expand coverage to hard systems (legacy apps, standalone directories, databases).
- Formalize exception handling with compensating controls and time bounds.
- Prepare an audit-ready evidence bundle with samples across systems.
Where Daydream fits (without adding process overhead)
Daydream is most helpful when you need AC-2(2) to run as a repeatable control instead of a one-time project: a control card template tied to evidence requirements, a consistent “minimum evidence bundle,” and recurring control health checks with tracked remediation. That maps directly to what auditors ask for when they test whether automation is operating. 2
Frequently Asked Questions
Do we have to delete temporary and emergency accounts, or is disabling acceptable?
The requirement is to automatically take action to end the account’s validity after the defined condition. Many programs disable first (to preserve logs) and later delete per retention and HR/legal needs, but the key is automatic termination of access. 2
What qualifies as an “emergency account” versus emergency elevation on a normal user?
Either can meet the intent if the access path is explicitly controlled and automatically expires. Many teams prefer time-bound elevation on named accounts because it improves attribution, but break-glass shared accounts still need strict controls and automatic expiry. 2
How do we operationalize “after X” if incidents don’t close cleanly?
Use a dual condition: a maximum time limit plus ticket-based closure, and enforce whichever comes first in automation. Make exceptions explicit and time-bound so they remain auditable.
Our SaaS app can’t auto-expire accounts. What’s an acceptable approach?
Put the expiration control in the authoritative identity layer (SSO) so disabling in the IdP blocks access even if the SaaS account object remains. If the app supports API deprovisioning, add an automation job to disable/delete there too.
How do we handle third-party support access that needs to be re-enabled repeatedly?
Create a standard “support access package” with time-bound activation. Each activation requires an expiration and approval, and the automation revokes access at the end of the window.
What evidence is most persuasive in an audit?
A sample set that ties request approval to an account created with an expiry attribute, plus logs showing the automatic disable/delete event occurred without manual intervention. Keep the configuration that enforces the rule and the inventory proving no expired accounts remain. 2
Footnotes
Frequently Asked Questions
Do we have to delete temporary and emergency accounts, or is disabling acceptable?
The requirement is to automatically take action to end the account’s validity after the defined condition. Many programs disable first (to preserve logs) and later delete per retention and HR/legal needs, but the key is automatic termination of access. (Source: NIST SP 800-53 Rev. 5)
What qualifies as an “emergency account” versus emergency elevation on a normal user?
Either can meet the intent if the access path is explicitly controlled and automatically expires. Many teams prefer time-bound elevation on named accounts because it improves attribution, but break-glass shared accounts still need strict controls and automatic expiry. (Source: NIST SP 800-53 Rev. 5)
How do we operationalize “after X” if incidents don’t close cleanly?
Use a dual condition: a maximum time limit plus ticket-based closure, and enforce whichever comes first in automation. Make exceptions explicit and time-bound so they remain auditable.
Our SaaS app can’t auto-expire accounts. What’s an acceptable approach?
Put the expiration control in the authoritative identity layer (SSO) so disabling in the IdP blocks access even if the SaaS account object remains. If the app supports API deprovisioning, add an automation job to disable/delete there too.
How do we handle third-party support access that needs to be re-enabled repeatedly?
Create a standard “support access package” with time-bound activation. Each activation requires an expiration and approval, and the automation revokes access at the end of the window.
What evidence is most persuasive in an audit?
A sample set that ties request approval to an account created with an expiry attribute, plus logs showing the automatic disable/delete event occurred without manual intervention. Keep the configuration that enforces the rule and the inventory proving no expired accounts remain. (Source: NIST SP 800-53 Rev. 5)
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream