Join our Newsletter — 33% off our NHI Course

What is the difference between provisioning and deprovisioning in IAM?

Provisioning creates or updates accounts and assigns the access a user needs to do their job. Deprovisioning removes or disables accounts, roles, and entitlements when access is no longer required. Provisioning gets people in the door, but deprovisioning is what prevents stale access from becoming a standing invitation for account takeover after a role change or departure.

Provisioning and deprovisioning are opposite ends of the IAM lifecycle

Provisioning is the controlled creation of access so a person, service, or workload can do its job. Deprovisioning is the controlled removal, disablement, or reduction of that access when the need ends. The difference matters because IAM is not just about getting the right access in place; it is also about making sure access expires, changes with role movement, and disappears when it is no longer justified.

In security terms, provisioning expands legitimate access only as far as the job requires, while deprovisioning shrinks the attack surface when the job changes or ends. That lifecycle distinction is especially important for privileged access, shared credentials, and any account that can reach production systems or sensitive data. NHI Management Group research on the Ultimate Guide to NHIs — Lifecycle Processes for Managing NHIs shows how lifecycle control is central to reducing exposure over time.

Teams often get provisioning right at onboarding but leave deprovisioning to informal handoffs, and that is where stale access accumulates unnoticed.

How the two stages work in practice

Provisioning usually starts with an approved request, HR event, ticket, or workflow trigger. The IAM system then creates the account, binds it to the right directory or application, assigns roles or groups, and sets the initial access scope. Good provisioning is not just account creation; it is also about granting the minimum access needed, using the correct owner, and recording why the access exists. For non-human identities, that may include service accounts, API keys, certificates, or workload credentials that need explicit ownership and rotation expectations.

Deprovisioning is the reverse, but it is rarely a single delete action. Depending on the context, it may mean disabling the account first, revoking sessions, removing group membership, expiring tokens, rotating secrets, deleting keys, and preserving records for audit or recovery. The operational question is not whether access was once needed; it is whether any active access still has a business purpose. That is why deprovisioning should be tied to role change, termination, project closure, vendor offboarding, and credential expiry rather than manual memory.

For identity governance, current guidance suggests treating access removal as a controlled process with confirmation, not as an afterthought. The NIST SP 800-53 Rev 5 Security and Privacy Controls is useful here because it frames account management, access enforcement, and least privilege as ongoing control obligations rather than one-time admin tasks. In practice, provisioning should answer who gets access and why; deprovisioning should answer what must be removed, disabled, or expired to prevent residual access from persisting.

These controls tend to break down when access is shared across teams, when offboarding depends on email-only notifications, or when secrets remain valid after the account itself is removed.

Common failure points and why lifecycle gaps create risk

Provisioning and deprovisioning are often confused because both involve changing access, but they fail in different ways. Over-provisioning creates unnecessary privilege up front, while weak deprovisioning leaves orphaned access behind after the original need has ended. Tighter access removal often increases coordination overhead, requiring organisations to balance speed of offboarding against the need to avoid breaking legitimate dependencies.

A common edge case is service and application access. Human offboarding is usually straightforward, but non-human access may be embedded in scripts, CI/CD pipelines, integrations, or third-party tools. If deprovisioning removes one account without understanding the dependency chain, it can break production workflows. If it does nothing, the dormant credential remains available to anyone who finds it. That is why lifecycle control for machine identities needs ownership, inventory, and expiry discipline, not just user-account procedures.

Another edge case is temporary access. Provisioning for short-term work should not quietly become permanent because no one closes the loop. Best practice is evolving toward just-in-time access and short-lived credentials where feasible, because that reduces the amount of standing privilege that deprovisioning has to clean up later. Where that is not possible, deprovisioning must be measured by how quickly access is removed after the trigger, not by whether the request was approved correctly in the first place. In practice, the hardest failures are not bad approvals but forgotten removals that survive long after the business reason has gone stale.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 address the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
CIS Controls v8 5 — Account Management Provisioning and deprovisioning are core account lifecycle controls.
Recommendation — Automate account creation, disablement, and review so access is removed when no longer needed.
NIST CSF 2.0 PR.AA — Identity Management, Authentication, and Access Control IAM provisioning and removal directly govern access scope and lifecycle.
PR.AC — Access Control Provisioning assigns access; deprovisioning revokes it to preserve least privilege.
Recommendation — Enforce identity lifecycle controls so access is granted, changed, and removed with business need. Apply least-privilege access rules and revoke entitlements promptly when roles change or end.
OWASP Non-Human Identity Top 10 NHI-01 — NHI Inventory and Ownership Machine identities need explicit ownership to support provisioning and offboarding.
NHI-04 — Secrets and Credential Management Deprovisioning must revoke or rotate secrets, not just disable accounts.
Recommendation — Inventory non-human identities and assign owners so access can be revoked on schedule. Rotate or revoke credentials during offboarding so stale secrets cannot keep working.

Practitioner Guidance

What to prioritise: Treat deprovisioning as a risk-reduction control, not a housekeeping task. The highest-value target is any access that can reach production, customer data, signing systems, or admin consoles.

  • Verify that every provisioning path has a matching removal trigger tied to termination, role change, project end, or vendor exit.
  • Check whether disabled accounts, expired roles, and revoked tokens actually stop access in the target system.
  • Review non-human credentials separately, because workflow dependencies often hide stale access long after user access has been cleaned up.

What good looks like: Provisioning is approved, minimal, and traceable; deprovisioning is fast, repeatable, and confirmed by evidence rather than assumption. The key test is whether you can prove access was removed when it should have been, not whether the ticket was closed.

Practitioner takeaway: The real difference is lifecycle direction: provisioning adds justified access, while deprovisioning is what keeps justified access from becoming permanent exposure.