🚨 CMMC Phase One started November 10! Here's everything you need to know →

How to Configure Active Directory and SSO to Meet NIST SP 800-171 REV.2 / CMMC 2.0 Level 2 - Control - IA.L2-3.5.5: Preventing Identifier Reuse

Practical steps to configure Active Directory and cloud SSO so user identifiers are not reassigned, helping you demonstrate compliance with IA.L2-3.5.5 under Compliance Framework.

•
April 16, 2026
•
5 min read

Share:

Schedule Your Free Compliance Consultation

Feeling overwhelmed by compliance requirements? Not sure where to start? Get expert guidance tailored to your specific needs in just 15 minutes.

Personalized Compliance Roadmap
Expert Answers to Your Questions
No Obligation, 100% Free

Limited spots available!

IA.L2-3.5.5 (Preventing Identifier Reuse) requires organizations to ensure identifiers (usernames, UPNs, employee IDs, SSO subject names) are not reassigned to different individuals in a way that could mask accountability or allow unauthorized access; this post gives practical, technical steps you can implement in Active Directory and common SSO providers to meet the Compliance Framework expectations for NIST SP 800-171 REV.2 / CMMC 2.0 Level 2.

Why preventing identifier reuse matters (implementation overview)

Preventing identifier reuse preserves the audit trail and accountability tied to an identifier. If a username is reassigned to a new person, previous logs, permissions, and accountability mapping become ambiguous and a malicious actor could inherit privileges or evade forensic timelines. To meet Compliance Framework requirements, you must combine policy (retention period, HR-driven process), directory configuration (disable vs delete), and SSO provisioning behavior (deactivate rather than delete, map SSO subjects to immutable attributes) so identifiers remain unique over a documented time window.

Active Directory: practical configuration steps

On-prem Active Directory is usually the authoritative identity store for many small businesses. Implement these actionable controls: - Create a documented "identifier retention period" (commonly 90 days, adjustable by risk/contract) during which user accounts remain in AD but are disabled and preserved. - Implement an HR-to-IT workflow (ticket or automation) that immediately disables accounts on termination and moves the account to a dedicated OU such as "OU=DisabledUsers,DC=example,DC=com" with a naming convention that includes the disable date. - Avoid deleting AD user objects before the retention window expires. AD enforces uniqueness of sAMAccountName and userPrincipalName only while the object exists; keeping the disabled account prevents reuse automatically. - Use immutable attributes for audit correlation: populate employeeID with a unique corporate identifier and never recycle that value. Use the description or extensionAttribute fields to add metadata like "DisabledOn=YYYYMMDD; TermReason=Resignation".

Example PowerShell snippet to disable and move a user, set a disable tag, and add a termination date (run as an AD admin):

Get-ADUser -Identity "j.smith" | Disable-ADAccount
Set-ADUser -Identity "j.smith" -Replace @{description="DisabledOn=2026-04-16; TermReason=Termination"}
Move-ADObject -Identity (Get-ADUser -Identity "j.smith").DistinguishedName -TargetPath "OU=DisabledUsers,DC=example,DC=com"

Also consider setting the accountExpires attribute if you want automatic cleanup after the retention period, but do not allow automatic deletion without documented approval and evidence capture.

SSO and cloud IdP: mapping to immutable identifiers and provisioning rules

Cloud SSO providers (Azure AD, Okta, OneLogin, Google Workspace) often act as the authentication endpoint for applications. Key implementation points: - Map the SAML/OpenID Connect subject to an immutable identifier (objectGUID in AD, Azure immutableId) rather than a mutable username. In Azure AD Connect, use immutableId and avoid using attributes you plan to recycle for the SAML NameID. - Configure provisioning (SCIM, AD Connect, SCIM connectors in Okta/OneLogin) to "deactivate/suspend" users on termination rather than deleting them. Check the SCIM schema: send "active": false and preserve the user object in the IdP for your retention period. - For Okta: set the lifecycle to deactivate on deprovisioning and do not remove historical user records; use the user.id (immutable Okta UID) as the application subject when possible. - For Azure AD: disable the user or set accountEnabled=false and use soft-delete behavior correctly. If you must delete from Azure AD after retention, export and store the identifier mapping and logs as evidence before removal.

Sample SCIM deprovision payload for "suspend" semantics: {"active": false, "meta": {"deactivatedTime":"2026-04-16T15:04:05Z"}} — implement this through your IdP’s provisioning rules.

Small-business real-world scenario

Imagine a 25-employee consultant firm handling CUI under a DoD subcontract. HR sends a termination ticket the same day an employee leaves. The IT runbook: (1) run a PowerShell disable script to disable the AD account, tag it with DisabledOn and TermReason, and move to OU DisabledUsers; (2) trigger the IdP (Okta/Azure) provisioning to suspend the cloud identity; (3) document the action in the access change ticket and capture screenshots/logs. The disabled AD object remains for 90 days — during this time the sAMAccountName and the employeeID are reserved and cannot be reused. After 90 days, the team reviews retained accounts; if deletion is authorized, export logs and the identity record for audit and then delete. This workflow gives clear evidence (tickets, AD attributes, IdP suspend events, export files) to satisfy assessors under the Compliance Framework.

Risk of not preventing identifier reuse and evidence for assessors

If you fail to prevent identifier reuse, you risk privilege confusion, orphaned access, and the ability of a new user or attacker to inherit permissions or cover tracks — all of which can lead to unauthorized disclosure of CUI, failed audits, and contractual penalties. Evidence you should collect to demonstrate compliance: the written Identifier Reuse Policy, retention period definition, HR-to-IT workflow, sample disabled account records (showing attributes and disable timestamps), IdP provisioning logs showing deactivation events, periodic audit reports that confirm no reuse within the retention window, and the System Security Plan (SSP)/POA&M mapping IA.L2-3.5.5 to implemented controls and artifacts.

Compliance tips and best practices

Best practices to operationalize this control:

  • Document an explicit retention period (90–180 days is common) and include it in the SSP and IAM policy.
  • Integrate HR and IT via automated ticketing or API triggers so disabling is immediate and logged.
  • Use immutable attributes (employeeID, objectGUID, Azure immutableId) for audit mapping; never recycle employeeID values.
  • Configure IdP provisioning to suspend/deactivate rather than delete; preserve user objects for the retention window.
  • Maintain an "Identifier Ledger" (CSV or DB) of all issued employeeIDs and usernames and mark entries as retired when accounts are disabled.
  • Schedule quarterly reviews to ensure disabled accounts are still preserved for the retention interval and that no identifiers have been reissued.
  • Capture and retain logs (AD event IDs, IdP provisioning logs, and ticketing records) as evidence for audits and incident investigations.

In short, combine policy, automated disablement, preservation of disabled objects, and immutable identifier usage across AD and SSO to create a defensible and auditable approach to IA.L2-3.5.5 under the Compliance Framework.

 

Quick & Simple

Discover Our Cybersecurity Compliance Solutions:

Whether you need to meet and maintain your compliance requirements, help your clients meet them, or verify supplier compliance we have the expertise and solution for you

 CMMC Level 1 Compliance App

CMMC Level 1 Compliance

Become compliant, provide compliance services, or verify partner compliance with CMMC Level 1 Basic Safeguarding of Covered Contractor Information Systems requirements.
 NIST SP 800-171 & CMMC Level 2 Compliance App

NIST SP 800-171 & CMMC Level 2 Compliance

Become compliant, provide compliance services, or verify partner compliance with NIST SP 800-171 and CMMC Level 2 requirements.
 HIPAA Compliance App

HIPAA Compliance

Become compliant, provide compliance services, or verify partner compliance with HIPAA security rule requirements.
 ISO 27001 Compliance App

ISO 27001 Compliance

Become compliant, provide compliance services, or verify partner compliance with ISO 27001 requirements.
 FAR 52.204-21 Compliance App

FAR 52.204-21 Compliance

Become compliant, provide compliance services, or verify partner compliance with FAR 52.204-21 Basic Safeguarding of Covered Contractor Information Systems requirements.
 ECC Compliance App

ECC Compliance

Become compliant, provide compliance services, or verify partner compliance with Essential Cybersecurity Controls (ECC – 2 : 2024) requirements.