Identity security administrator verifying Entra offboarding, session revocation, application access, and audit evidence on multiple monitors

After an Entra Account Is Disabled, What Access Remains?

Thu, Sep 17, 2026

A workforce identity can be disabled in Microsoft Entra ID while an already-open application tab still looks perfectly normal. That observation is ambiguous. The page may be cached, the application may be rendering data already present in the browser, an access token may still be accepted by the resource, or an application-issued session cookie may remain valid. Only one of those possibilities proves continuing server-side authorization: an authorized, harmless request that reaches the application or resource and succeeds after the offboarding action.

That distinction is the foundation of this runbook. Microsoft documents different revocation and enforcement paths for directory state, refresh tokens, access tokens, Continuous Access Evaluation (CAE), application sessions, and provisioning. Those paths have different owners and different timing characteristics; they do not collapse into a universal “disable means instant logout” rule. Microsoft explicitly notes that there can be a period between initiating revocation and effective loss of access, and that an application-issued session token is controlled by the application, not directly by Entra. Microsoft Learn, Revoke user access in Microsoft Entra ID, updated June 19, 2026; accessed September 17, 2026.

The operating model below therefore closes access per application and per enforcement path. It uses only sanctioned test tenants or approved canary identities, synthetic content, and low-impact resource checks. The goal is evidence: administrative action, expected enforcement mechanism, authoritative resource result, elapsed observation window, and unresolved owner. A green identity-admin status is an intermediate control state; it is not, by itself, proof that every session, local credential, device cache, or downloaded file has become inaccessible.

Define what offboarding completion must prove

Offboarding should be expressed as a set of independently testable outcomes rather than one account-state checkbox. At minimum, a reviewer needs to know whether new Entra sign-in is blocked, whether refresh-token redemption is prevented, what happens to already-issued access tokens, whether application-owned sessions are terminated or reevaluated, whether downstream provisioning disabled the application account, and what residual data remains outside online authorization controls. Microsoft’s revocation guidance separates token and session behavior in essentially this way, including the warning that an application’s own session cookie is outside Entra’s direct control.

The proposed operating model is to define “complete” at the application level. A case may be complete for one resource and held for another. That is more defensible than a tenant-wide claim because an app that relies on CAE-aware resource enforcement behaves differently from a SaaS product that keeps its own long-lived browser session, and both behave differently from an app with a direct local password.

Outcome to prove

Primary owner

Minimum acceptable evidence

New Entra sign-in denied

Identity operations

Directory state plus an approved canary sign-in attempt that is denied

Refresh-token renewal no longer succeeds

Identity operations / app team

Revocation action record plus a later authorized renewal attempt that fails or requires reauthentication

Existing resource request denied

Resource or application owner

Harmless server-side request with timestamp and authoritative denial

Downstream app identity disabled

Provisioning / app owner

Provisioning log plus target-side account state

App-owned session terminated or reevaluated

Application owner

Existing canary session tested after the relevant app-side event

Residual or offline data addressed

Data / endpoint owner

Recorded scope, owner, and compensating action where applicable

Routine offboarding and emergency containment can share evidence fields but not necessarily the same change sequence. Emergency procedures may justify faster or broader controls, while routine departures often follow scheduled lifecycle orchestration. This article does not prescribe a destructive production checklist. Any write action against a real user should remain subject to your organization’s approval, privileged-role, and incident-handling requirements.

Inventory every access path and its accountable owner

The most common offboarding failure is not a broken revocation API. It is an access path nobody put on the list. Start with the identity relationship, then map the application, resource, authentication method, application-local credential options, device dependencies, provisioning connector, and evidence owner. The inventory should distinguish workforce members from B2B guests because Microsoft documents guest-specific limitations for CAE and revokeSignInSessions.

For each human identity, record the home tenant and resource tenant, especially when guest access is involved. A guest object in the resource tenant does not make that tenant the authority for every sign-in artifact. Microsoft Graph’s revokeSignInSessions documentation says the operation does not revoke sign-in sessions for external users because those users sign in through their home tenant. CAE documentation separately states that guest accounts are not supported for instantaneous CAE revocation enforcement. Those are different limitations and should be recorded separately.

Application inventory should also identify bypasses: direct local passwords, recovery accounts, API keys tied to a person, SSH keys, database-native users, shared accounts, and device-stored credentials. Those are not automatically governed by a Microsoft Entra user disable. Workload identities and service principals should be split into a separate review because this runbook is scoped to human workforce access. The same goes for shared credentials, which require ownership and rotation controls rather than pretending they belong to one departing employee.

Inventory field

Example canary value

Accountable owner

Close condition

Identity type

Member workforce user

Identity team

Type confirmed

Tenant relationship

Home tenant only

Identity team

Home/resource ownership known

Application

SaaS-A

App owner

App owner named

Authentication

Entra federation + app cookie

App owner

Both paths tested

Direct credential

None / local password present

App owner

Presence verified, not assumed

Provisioning

SCIM connector

IAM provisioning

Job healthy and target state checked

Resource check

Read synthetic record

App owner

Server-side denial observed

Device dependency

Managed browser on test device

Endpoint team

Device scope recorded

This is where broader identity and access-control foundations are useful conceptually, but Microsoft behavior in this runbook is grounded in Microsoft’s own documentation, not in an AWS-specific procedure. The inventory is also the place to mark unknown rather than infer control. An unknown high-impact login path is not a green result.

A practical rule is that every row needs a named human or team that can answer, “What system actually decides whether this request is allowed?” If the answer is “Entra” for sign-in but “the SaaS session store” for an existing browser session, both authorities belong in the matrix.

Follow the session rather than only the directory account

A directory object is the starting point, not the entire session. An already-authenticated browser or native client can hold several artifacts with different issuers and enforcement points. Microsoft’s access-token reference says access tokens are intended for the resource and should be treated as opaque by clients; the resource validates them. Microsoft’s revocation guidance separately describes refresh tokens and both identity-provider and application-issued session cookies. Microsoft Learn, Access tokens in the Microsoft identity platform, last updated May 14, 2025; accessed September 17, 2026.

Artifact

What it enables

Who ultimately enforces

What revocation evidence means

Access token

Current call to a protected resource

Resource provider

Resource rejects or stops honoring token under its rules

Refresh token

Obtaining new access tokens

Microsoft Entra ID

Redemption fails or user must reauthenticate

Entra session cookie

Identity-provider web session

Microsoft Entra ID

Future Entra authentication flow no longer silently succeeds as before

Application session cookie

Application-local browser session

Application

App rejects existing session or reevaluates user state

Separate access, refresh and identity-provider session state

The first distinction is between an existing resource request and future token acquisition. Microsoft’s access-token reference documents a default variable lifetime of 60–90 minutes, averaging 75 minutes, while also documenting exceptions and a separate treatment for CAE sessions. The emergency revocation guide uses a simpler “one hour” default description. Those statements should not be flattened into one universal tenant-wide expiry. They come from different documentation contexts, and the access-token reference itself limits its scope for registered APIs.

revokeSignInSessions is likewise not proof that every current resource request has already failed. Microsoft Graph says the operation invalidates refresh tokens and Microsoft identity session state by updating signInSessionsValidFromDateTime, and that a delay of a few minutes can occur before token revocation takes effect. A successful 2xx response is therefore evidence that the administrative operation was accepted, not that every resource has denied access at the same timestamp. Microsoft Graph REST API v1.0, user: revokeSignInSessions, last updated July 23, 2025; accessed September 17, 2026.

Trace the application-owned session

Browser federation often creates two session layers. Microsoft’s revocation guide states that a user can receive one session token from Entra and another from the application, and that Entra cannot directly revoke a session token issued by the application. The application decides when it sends the user back to Entra for reevaluation and can, depending on its configuration, keep accepting its own session until that session expires or is explicitly invalidated.

That means every federated SaaS app needs two authorized canary tests: an already-open session and a new session. The new-session test asks whether a fresh authentication path is blocked. The already-open-session test asks whether an existing app-owned cookie continues to authorize a harmless server-side action. If the vendor documentation or application owner cannot explain the session store, logout-all behavior, user-disable behavior, or reevaluation interval, record “application session termination: unknown” and hold closure rather than inferring that federation equals logout.

Turn the documented timing differences into a test plan

There are at least three timing statements that are frequently conflated. Microsoft’s access-token reference documents a default variable 60–90 minute lifetime, averaging 75 minutes, subject to exceptions. The CAE page says critical-event propagation can show up to 15 minutes of latency. Microsoft’s provisioning reporting guidance says incremental provisioning synchronizations typically occur every 20–40 minutes after the initial cycle. Those are descriptions of different mechanisms, not numbers to add together into an “offboarding takes X minutes” formula.

Source

Documented timing

Scope

What it does not prove

Access-token reference

Default variable 60–90 minutes, average 75

Access-token lifetime in documented scope

App cookie expiry or CAE behavior

Revocation guide

Uses an approximately one-hour default description

Explanatory revocation workflow

Universal token lifetime for every resource

CAE guide

Up to 15 minutes may be observed for critical-event propagation

Supported CAE critical-event paths

Universal app/session enforcement

Provisioning reporting

Typically 20–40 minutes after initial cycle

Provisioning synchronization cadence

When an app terminates its existing sessions

The organization should choose its observation windows as policy. For example, a team might sample an authoritative resource check every few minutes for a limited approved period, then hand off to an exception process. That chosen window is not a Microsoft SLA unless Microsoft explicitly publishes it as one for the exact feature and path being tested.

Keep three timestamps in the evidence ledger: when the administrative action was accepted, when the downstream state changed, and when the resource first denied the canary request. Those timestamps let reviewers see which layer introduced delay. They also prevent a provisioning success at minute 24 from being misrepresented as proof that an application cookie was terminated at minute 24.

Prepare an authorized canary and safe evidence capture

A canary is an approved test identity whose access can be changed without affecting a real employee or production data. It should have only the permissions needed to exercise the selected applications, and its test content should be synthetic. The purpose is not to imitate a former employee or to collect reusable secrets; it is to reproduce the session topology under controlled conditions.

Before the rehearsal, establish sessions deliberately. Open the federated SaaS app in one browser profile, establish a supported Microsoft 365 or other CAE-eligible path where applicable, and confirm the SCIM-provisioned application account exists. For every path, define one harmless server-side request, such as reading a synthetic record or listing a canary-only object. A cached page rendering is never the sole authoritative check.

Evidence field

Safe capture

Avoid

Canary identity

Alias or synthetic object ID

Real former employee identity

Application

Stable app alias

Sensitive customer data

Client

Product/version/browser profile

Browser cookie contents

Token metadata

Issue/expiry timestamps where safely available

Full bearer tokens

Action

Admin audit/correlation ID

Secrets in screenshots

Resource result

HTTP status or app denial plus server time

Full sensitive response body

Provisioning

Job ID, event ID, target state

Connector credentials

Ownership

Team/on-call or ticket queue

Unnecessary personal details

The canary’s clock matters. Record the test workstation timezone, server or service timestamps, and the time source used by the evidence platform. Correlation becomes unreliable when one system logs UTC, another logs local time, and the worksheet silently mixes them. Normalize timestamps in the ledger, ideally to UTC, while preserving original event timestamps in the attached evidence.

The sampling plan should also be explicit. “We checked later and it was denied” is weak evidence. A stronger record says: baseline request succeeded at T0; directory disable accepted at T1; refresh-session revocation accepted at T2; first authoritative denial observed at T3; observations continued until T4 according to the organization’s selected window. No full access token, session cookie, password, or confidential payload needs to be stored to establish that sequence.

Finally, separate expected from observed. Before the test, write the expected enforcement path based on documentation and application-owner knowledge. After the test, write the observed outcome. If the test has not run, label it unverified assumption, not “passed.”

Verify CAE coverage instead of assuming instant enforcement

Continuous Access Evaluation can shorten enforcement time for supported combinations because resource providers can react to critical events before a conventional token expires. Microsoft documents user disable/delete and explicit refresh-token revocation among CAE critical events, with near-real-time intent and possible event-propagation latency up to 15 minutes. But the same page says not every client/resource combination is supported and that guest accounts are not supported for instantaneous CAE revocation. Microsoft Learn, Continuous access evaluation, updated April 8, 2026; accessed September 17, 2026.

CAE evidence question

Required answer before “supported”

Identity

Member user or guest?

Resource

Which exact resource provider?

Client

Which app and version/platform?

Event

Disable, delete, explicit refresh revocation, risk, or policy change?

Capability

Does Microsoft document this client/resource combination?

Result

Did the authoritative canary request receive challenge/denial?

Measure a supported critical-event path

For a supported cohort, capture a pre-change request that succeeds against a harmless resource. Then execute the approved canary action, such as disabling the canary account or invoking the sanctioned session-revocation control, under the required administrative role. Record when the action was accepted separately from when the resource first denies access. Microsoft documents the CAE event path as a conversation between Entra and an enabled resource provider, which can reject a still-unexpired token and issue a claims challenge to a capable client.

The verification criterion is resource behavior, not merely a sign-in log. The resource denial might manifest as a challenge, reauthentication requirement, or denied operation depending on the selected implementation; record only what the actual client/resource pair demonstrates. Do not hard-code one expected HTTP code across every application unless that application’s contract documents it.

Handle unsupported combinations and guest identities

Unsupported or unknown combinations belong in a separate cohort. Do not label them “CAE protected” because the tenant has CAE enabled somewhere. Microsoft’s CAE support tables are client-and-resource specific, and Microsoft separately documents limitations for guest users.

Guests need two ownership fields: the home tenant, where authentication originates, and the resource tenant, where the guest object and application access may exist. Microsoft Graph states that revokeSignInSessions does not revoke external-user sessions from the resource tenant because external users sign in through their home tenant. That limitation is independent of the CAE guest limitation.

For a guest canary, therefore, a resource-tenant disable can still be a meaningful access control, but do not claim the same refresh-session semantics as a member user. The close decision must reference the exact guest path that was tested and the owner who can act in the home tenant if home-tenant revocation is part of the required control.

Rehearse the approved administrative sequence

For an Entra-only member canary, Microsoft’s emergency revocation guidance shows two relevant administrative actions in the portal: block new sign-ins by clearing the enabled state, and revoke sessions. The same guidance provides Microsoft Graph PowerShell examples, but this runbook deliberately avoids a blanket write script. The safest operational pattern is to use approved procedures for the write actions and keep the rehearsal’s reusable examples focused on verification.

Step

Intended effect

Owner

Evidence to retain

Baseline app/resource checks

Prove the canary had access

App/resource owner

Success timestamp and correlation ID

Disable canary sign-in

Stop new Entra token issuance/sign-in path

Identity admin

Audit event / directory state

Revoke sign-in sessions

Invalidate documented refresh/session state

Identity admin

Graph/portal operation result and timestamp

Observe CAE resource if supported

Detect resource-side critical-event enforcement

Resource owner

First denial/challenge timestamp

Observe SaaS existing session

Test app-owned session behavior

App owner

Server-side request result

Observe provisioning target

Verify target disable or deprovisioning

Provisioning/app owner

Provisioning event + target state

Close or hold each app

Convert evidence into decision

Access-review lead

Signed ledger row

Prerequisites should be written into the change record: approved canary identity; test tenant or sanctioned production canary; named application owners; least-privileged administrative role; known rollback for the canary only; and a predeclared observation window. Microsoft documents role requirements for account disable and other emergency actions, and the Graph endpoint exposes User.RevokeSessions.All as the least-privileged permission for its supported call patterns.

A technical rollback is appropriate for a canary if the test design requires restoring access after evidence capture. That is not the same as re-enabling a genuinely offboarded employee. Automation must never assume that “test failed” means “restore the user.” For real departures, restoration is a business authorization decision, not a script error handler.

Escalate if the administrative action succeeds but the application remains accessible beyond the organization’s selected observation policy. At that point the question changes from “did Entra accept the change?” to “which authority is still permitting the request?”

Validate deprovisioning and application session termination

Provisioning is another independent state machine. Microsoft’s provisioning service can disable or delete users in target applications based on scope and mappings. Its documentation says that, for SCIM applications, a disable is a request to set the user’s active property to false; it also notes that the exact meaning of disable/delete depends on the target application’s implementation. Microsoft Learn, How Application Provisioning works in Microsoft Entra ID, last updated March 4, 2025; accessed September 17, 2026.

A useful synthetic test design, not an executed result, is a three-application portfolio:

Synthetic app

Primary control path

Independent evidence

Federated SaaS-A

Entra federation + app cookie

New sign-in denied; existing cookie checked separately

Microsoft resource-B

Supported CAE path

Critical event accepted; authoritative resource denial observed

SCIM SaaS-C

Entra provisioning

Provisioning event; target account disabled; existing app cookie retested

The point is not to show that these three paths all end at the same time. It is to prove that they can be observed independently. The connector error handling and reconciliation mindset is useful here, but connector behavior in this runbook should still be validated against Microsoft and the target application’s primary documentation.

Test SCIM state, connector health and retries

First verify that the canary is in the connector’s scope and that the relevant disable mapping is configured. Microsoft’s provisioning documentation says users removed from scope or disabled in the source can be disabled in the target through an update, but it also notes that target-object actions and mappings can change this behavior. Provisioning errors are retried, and jobs with broad persistent failures can enter quarantine, reducing sync frequency.

Next, observe the provisioning record and the target-side account state. A provisioning log saying an update was sent is necessary but not sufficient if the target still considers the account active. The target-side readback is the authoritative application state.

For SCIM specifically, IETF RFC 7643, System for Cross-domain Identity Management: Core Schema, September 2015; accessed September 17, 2026 defines active as a boolean administrative-status attribute and explicitly leaves its definitive meaning to the service provider. A typical false value means a suspended account, but the standard does not promise that every application will immediately kill every existing session when the flag changes.

After a transient failure, require reconciliation: healthy connector status, a later successful event for the canary, target state readback, and another application-session check. Microsoft’s reporting guidance says incremental synchronization typically occurs every 20–40 minutes after the initial cycle; quarantine can alter normal cadence. That number is therefore not a hard end-to-end offboarding SLA.

Test existing cookies, new sessions and alternate credentials

Once the target account shows disabled, repeat the two application tests. First, use the already-open canary browser session to perform the predefined harmless server-side action. Second, start a clean browser profile and attempt the normal federated entry path. These tests answer different questions: whether an old app session was terminated or reevaluated, and whether a new session can be established.

Then test any authorized alternate credential path recorded in the inventory. If the application supports a local password, recovery login, or another direct authentication mode, the app owner must verify whether the target-side disable blocks it. Never invent a direct-login test against an application you do not own or lack authorization to probe.

A sign-out page is not enough. “User was redirected to sign-in” can be useful evidence, but the close criterion should be the inability of the previously authorized session to complete the designated server-side operation. If one browser session is denied and another remains authorized, preserve both results; that asymmetry is exactly the evidence the owner needs.

Separate cloud denial from device and residual-data exposure

Revoking online authorization does not remotely erase information already downloaded to a laptop, synchronized to an offline client, exported to removable media, copied into another authorized system, or captured in a screenshot. Microsoft’s revocation model is about access to services and tokens; it should not be stretched into a claim that data already outside the service has been destroyed.

Likewise, a cached browser page can remain visible after authorization has ended. That is why this runbook defines denial using a fresh, harmless, server-side action. The presence or disappearance of stale UI content is supporting context at most.

Exposure plane

Controlled by this runbook?

Required owner/action

Entra new sign-in

Yes, in scope

Identity operations verify denial

Online resource request

Yes, per resource

Resource owner verifies

App-issued browser session

Partly; app-controlled

Application owner tests termination

Downloaded files/offline cache

No, not by Entra revocation alone

Endpoint/data owner assesses

Direct database/local account

Only if separately inventoried

Database/app owner disables

Shared credentials

No single-user guarantee

Credential owner rotates

Workload identity/service principal

Out of human-user scope

Platform owner reviews separately

Endpoint controls can still reduce risk, for example device disablement, device management actions, disk protection, or corporate-data controls, but those are separate enforcement planes and should be evidenced by their own tools. Similarly, separate workload authorization controls should remain outside a human Entra-user closure claim unless the workforce identity directly controls those paths.

Residual-data handling therefore becomes an exception register rather than a hand-wave. Record the type of offline copy, system or device owner, retention/legal requirements, and remediation status. Do not mark the application “access fully erased” when what you actually proved was “new server-side requests are denied.”

Build evidence that a reviewer can independently follow

A good offboarding record should let a second reviewer reconstruct the decision without trusting the operator’s memory. That requires stable identifiers, timestamps, evidence pointers, and a distinction between administrative events and resource authorization results. SIEM data is useful for correlation, but absence of a log entry is not proof that access did not occur unless the logging contract guarantees complete coverage for that event type.

A proposed evidence ledger looks like this:

Field

Purpose

Action ID

Ties the test to approved change/incident work

Canary alias

Identifies the synthetic test principal without exposing secrets

App/resource alias

Defines the thing being closed

Enforcement path

Directory, refresh revocation, CAE, app session, SCIM, local credential

Admin action timestamp

Records control-plane acceptance

First observed denial

Records resource-side effect

Observation end

Defines how long the cohort was checked

Connector health

Captures provisioning state where relevant

Evidence pointer

Links to immutable or controlled evidence

Owner

Names who can explain/remediate the path

Exception

Records residual access or unknown behavior

Decision

Close, hold, or escalate

Correlate identity audit events, provisioning events, application logs, and authoritative resource checks around the same canary and request identifiers. SIEM evidence and response orchestration can help centralize that timeline, but the SIEM should not replace the resource’s own authorization result when you are deciding whether a session still works.

Use evidence pointers rather than copying secrets into the case. A pointer can reference an audit-event ID, provisioning event, sanitized application log, screenshot of a target account state, or a test harness result containing only status, time, and correlation ID. If the resource response includes sensitive data, store only the minimum metadata needed to prove success or denial.

Finally, protect against false negatives. A quiet SIEM after disablement might mean “no access attempts occurred,” “the connector stopped shipping,” or “the application logs the event elsewhere.” The ledger should record telemetry health separately from access denial so reviewers do not confuse missing evidence with negative evidence.

Respond to a path that remains open

An open path after the expected control change is not automatically a breach, but it is never a reason to force the ticket green. The response depends on which authority still appears to permit access and whether the behavior is documented, temporary, or unknown.

Observation

Decision

Containment / next owner

Existing app cookie still authorizes; app owner knows kill-session control

Hold

App owner invokes approved app-side termination and retests

SCIM update failed or connector quarantined

Hold

Provisioning owner repairs connector, reconciles, retests target and session

Guest refresh revocation attempted in resource tenant

Escalate

Coordinate home-tenant authority and resource owner

Direct local credential still works

Escalate

App owner disables/rotates local path under approved procedure

Supported CAE path exceeds internal observation policy

Escalate

Identity + resource owner examine capability, event, client, logs

Unknown high-impact path with no owner

Escalate

Access-review lead assigns ownership; do not close

Containment should be targeted. The existence of one long-lived SaaS cookie does not justify an improvised tenant-wide password reset script. Use the least disruptive approved control that acts on the authority still granting access, preserve the evidence, and retest.

For the canary, a controlled rollback may restore test access after evidence capture. For a genuine leaver, however, re-enablement is not rollback; it is a new access-grant decision. Never automate real-user restoration simply because a validation step returned an unexpected result.

If the application owner cannot explain how sessions are invalidated, the correct status is hold or escalate, not “probably expired.” That is especially important for privileged, finance, source-code, customer-data, and administrative applications, where an unknown session path can be materially significant.

Close per application and maintain the exception register

Closure should happen at application granularity. The access-review lead should require the application owner to sign off the tested path, the observed denial, any residual limitations, and any exclusions. A single tenant-level “user disabled” event cannot substitute for app-owner evidence where the application holds its own session or local credentials.

A compact close checklist can be used for each application:

1. Confirm the identity type and tenant relationship.

2. Confirm the app/resource owner and the authoritative server-side check.

3. Record directory disable and, where in scope, refresh-session revocation.

4. Verify CAE only if the exact client/resource/identity combination is documented and tested.

5. Verify provisioning state independently of session state.

6. Test the existing app session and a clean new session.

7. Test approved alternate credentials if the inventory says they exist.

8. Record offline, database, shared-account, or workload exclusions.

9. Attach evidence pointers and observation timestamps.

10. Choose close, hold, or escalate; unknown high-impact paths cannot be closed.

Database-native access deserves an explicit exclusion or test because Entra offboarding does not necessarily govern a local database principal. The same is true for credentials embedded in operational tools. Database access and operational ownership is therefore an ownership concern that should appear in the exception register when discovered, not be silently absorbed into an identity-provider conclusion.

Retest triggers should be structural, not calendar-only. Rehearse again when the provisioning connector changes, the application changes session technology, an authentication method is added, a client version changes CAE capability, a Conditional Access design changes, a federation or SSO configuration changes, or the vendor changes logout/session-revocation semantics.

The exception register should carry expiry or review dates, named owners, compensating controls, and the exact reason closure was withheld. This turns “we think offboarding works” into a maintainable control: every green row points to evidence, every amber row has an owner, and every red or unknown high-impact path remains visible until resolved.

Build the security foundations behind the audit

This exercise depends on several broader capabilities: understanding network and cloud security boundaries, reasoning about incident response, documenting risk, and automating evidence collection without automating unsafe access changes. Those are foundational disciplines rather than Entra-specific product tricks.

A useful learning map is:

Foundation

How it supports this runbook

Cloud and network security

Distinguishes identity-provider, client, and resource enforcement points

Incident response

Separates containment action from evidence of effect

Risk mitigation

Prioritizes unknown or high-impact application paths

Threat modeling

Identifies alternate credentials and bypasses

Workflow automation

Collects timestamps, IDs, and evidence consistently

Refonte Learning’s verified program page lists a three-month format at 12–14 hours per week and names network and cloud security, incident response and risk mitigation, threat modeling, and security workflow automation among the competencies. It does not establish that Microsoft Entra administration, SCIM connector labs, Microsoft Graph workshops, or this exact offboarding exercise are included. Refonte Learning, Cybersecurity Program, accessed September 17, 2026.

For readers building those foundations, the single relevant next step is the Refonte Learning Cybersecurity & DevSecOps Program. Treat this runbook as an independent identity-security application of those general foundations, not as a representation of an unverified Entra or SCIM syllabus.

Answer the questions that determine close or hold

Does disabling the account end every session? No. Microsoft documents that application-issued session cookies are controlled by the application, and Entra cannot directly invalidate them. A directory disable is important evidence for new sign-in control, but existing sessions still require resource- or application-specific verification.

Is a successful Graph response enough? No. revokeSignInSessions can return a successful 2xx response while Microsoft still documents a possible delay of a few minutes before revocation takes effect. The response proves that the administrative operation succeeded; the runbook still requires an authoritative resource test. The same API also does not revoke external-user sessions from the resource tenant.

Does SCIM active=false mean immediate denial? Not universally. Microsoft provisioning uses active=false as the SCIM disable operation for relevant applications, while RFC 7643 says the definitive meaning of active is determined by the service provider. You must verify target account state and existing-session behavior separately.

Can revocation erase offline files? No. An online identity or token control can prevent future authorized access to a service, but it is not a remote deletion guarantee for files already downloaded or copied. Residual data must be handled through endpoint, data-governance, legal, or application controls appropriate to that copy.

Final per-application decision

Required condition

Close

New access blocked; existing relevant session denied or documented as terminated; provisioning/target state verified where applicable; alternate paths tested; residual limitations recorded

Hold

Expected control is still processing, app-side termination is pending, or a connector/application retry is required within an owned remediation path

Escalate

Access remains open beyond policy, guest/home-tenant authority is unresolved, a direct credential bypass works, telemetry is unreliable, or a high-impact path has no accountable owner

The decisive principle is simple: close on observed denial at the authoritative resource, not on the administrative action alone. Directory state, refresh-token revocation, CAE, application sessions, and provisioning are related controls, but they are not interchangeable evidence. When one required test has not run, the honest status is unverified, not successful.