Automate MSP Access Review Evidence Collection, 2026
A day in the life of an MSP security operator
At 8:05 a.m. on quarterly-review Monday, the operator opens a PSA queue containing 14 client projects. One client uses Microsoft Entra ID and an on-premises VPN; another has Google Workspace, a firewall portal, and three SaaS applications; a third gives the MSP only a monthly export. The operator’s first task is not deciding who should retain access. It is proving which accounts and entitlements existed at the review cutoff and whether the right client owner received them.
By 9:20, two connectors have expired, one spreadsheet lacks stable user IDs, and a designated application owner has left. A technician account appears in four client environments under different names. Each fact is an evidence or ownership exception, not an access verdict.
Every record must remain tied to a client_id, source tenant, system, extraction time, and evidence reference. A reviewer for Client A must never see Client B’s accounts. The MSP operates collection; the authorized client owner retains certification authority unless an agreement assigns another role.
Canadian guidance lists 3 consumer access-control activities: define access requirements, review accounts when personnel change roles or leave, and maintain a role-based access matrix, according to the Canadian Centre for Cyber Security. That guidance makes two evidence directions important: client-user access inside managed systems and MSP technician or service access into each client environment. They belong in separately labeled scopes, even when one reviewer receives both.
| Morning exception | What the collector knows | What remains UNKNOWN | Human owner |
|---|---|---|---|
| Tenant API unavailable | Query failed at a recorded time | Current account population | MSP integration owner and client security owner |
| Identity lacks stable employee ID | Username and source system are known | Person match and employment status | Client identity owner |
| MSP technician appears in four tenants | Four source accounts exist | Whether each assignment is still required | MSP service owner plus each client owner |
| Shared emergency account | Account and entitlement are visible | Custodian, test status, and continued need | Client security owner |
| Owner no longer employed | Prior assignment and departure signal exist | Replacement certifier | Client governance owner |
The operator should finish the morning with a scoped queue, not a verdict. Automation can collect, normalize, request responses, send approved reminders, route exceptions, and compile the packet. It cannot certify access, revoke an account, change a role, accept risk, approve remediation, or close the review.
TL;DR
To automate MSP client access review evidence collection safely, separate observation from authority. The workflow inventories client-approved systems at a defined cutoff, records the exact source and query result, normalizes identities and entitlements without guessing, sends review requests to named owners, tracks responses and reminders, routes conflicts, and assembles an audit packet. Client and security owners make every access decision.
The core review unit is not a user alone. It is client_id + system_id + principal_id + entitlement_id + snapshot_at. That key prevents one person’s access to two applications, two clients, or two roles from collapsing into one ambiguous row. Human reviewers should be able to see the source label, privilege description, account type, last-observed state, business owner, and evidence link for every row.
For organizations handling controlled unclassified information, NIST SP 800-171 Rev. 3 describes a 3-part least-privilege requirement: necessary access, authorization for security functions, and periodic privilege review, according to NIST. That scope is not universal to every MSP client, but the separation is useful: evidence collection supports a review; it does not supply the business need or approval.
US Tech Automations can coordinate the read-only pulls, stable keys, owner requests, reminders, exception cases, and packet manifest across an MSP’s existing identity, PSA, document, and GRC tools. The client’s certification record remains a signed or authenticated human decision, and any remediation becomes a separately approved task.
1 evidence packet is not 1 access certification. The packet proves what was collected and reviewed; the authorized owner determines whether the access is acceptable.
The workflow, mapped
1. Freeze scope before collecting data
Create one campaign per client and period. Record the entity, approved systems, cutoff, account types, entitlement depth, exclusions, retention rule, owners, MSP coordinator, and deadline. Scope changes require a new approved version.
Do not equate the identity provider with the entire access surface. Consider approved directory users, roles, groups, guests, service accounts, VPN, firewall, RMM, vault, application, and MSP identities. A missing connector is a coverage gap, not zero accounts.
This is distinct from offboarding. Offboarding begins with a person or relationship event and may authorize immediate revocation under an existing process. A periodic access review begins with a time-bounded inventory and asks owners to evaluate current access, including users who remain employed, service accounts, vendors, guests, and emergency identities. This article stops before revocation.
2. Collect read-only source evidence by client tenant
Use a dedicated connector or export for each client and the minimum approved fields. Record connector, tenant, request, timestamps, page completion, count, error, and evidence reference. Never reuse one client token for another tenant or merge raw exports into unsegmented storage.
The collection result needs four states: observed, partial, unavailable, and not_in_scope. A successful HTTP response with incomplete pagination is partial. An expired credential is unavailable. A system omitted by the approved campaign is not in scope. Only a source record actually returned at the cutoff is observed.
CIS Control 5 contains 6 account-management safeguards and calls for active account authorization checks at least quarterly, according to CIS. CIS also specifies a 45-day dormant-account safeguard, but an MSP should treat that age as a review signal unless the client has authorized a separate disablement policy. The evidence workflow never turns a generic benchmark into an account action.
3. Normalize accounts and entitlements without collapsing uncertainty
Map vendor-specific fields into a review schema: client_id, system_id, source_tenant_id, principal_id, principal_type, display_label, account_enabled_observed, entitlement_id, entitlement_label, privilege_class, owner_id, last_activity_observed, snapshot_at, and evidence_ref. Retain the original value beside every normalization.
Classify principals as human, guest, service, shared, emergency, MSP technician, or unknown only when a deterministic rule or approved map supports it. Similar display names, matching email prefixes, or an AI guess cannot merge identities. An unresolved match becomes identity_unknown and goes to a client identity owner.
| Normalized state | Automatic action | Evidence retained | Human decision |
|---|---|---|---|
observed | Add row to owner’s review set | Source object, query, tenant, timestamp | Certify, request change, or investigate |
identity_unknown | Route mapping exception | All candidate identifiers and source rows | Confirm person or account type |
owner_missing | Route governance exception | System and entitlement ownership records | Assign authorized certifier |
source_partial | Stop campaign completion | Pages collected, missing cursor, error | Accept delay or authorize recollection |
conflicting_response | Preserve both responses and escalate | Response identities, times, and comments | Resolve decision authority |
remediation_requested | Create a linked, approval-gated task | Original certification and task reference | Approve and execute change outside this workflow |
Worked example: a Microsoft Entra evidence pull
An MSP starts a read-only campaign for 12 separately authorized Microsoft Entra tenants at 08:00 UTC, inventories 3,600 user objects, and flags 27 records whose observed user.accountEnabled value is false plus 14 records with no approved business owner. Microsoft defines accountEnabled as a Boolean that requires $select and supports 4 filter operators, according to Microsoft Learn. The collector pages every tenant independently; Microsoft documents default and maximum list sizes of 100 and 999 user objects, according to Microsoft Graph documentation. US Tech Automations can preserve all 3,600 source rows, open 41 evidence exceptions, and request human responses, but disabled status does not prove access should stay disabled, and missing ownership does not authorize revocation.
The example figures are illustrative, not an MSP benchmark. The Microsoft documentation proves the property and paging limits, not coverage of groups, roles, applications, on-premises accounts, or other systems; each needs an approved source.
4. Route owner requests, reminders, and exceptions
Build review sets by client and system owner. Each request should identify the campaign, scope, cutoff, account and entitlement, observed facts, permitted response values, evidence link, decision deadline, and escalation path. Use authenticated responses where the client’s policy requires them. Email delivery alone is not a certification.
Automation may send a preapproved reminder sequence, such as initial request, deadline reminder, and overdue escalation, but it should never convert silence into approval. A missing response stays response_overdue. If two owners disagree or the assigned owner changes, preserve both responses and route the case to the client’s governance authority.
CIS Control 6 contains 8 access-control safeguards, and Safeguard 6.8 calls for role-based access reviews at least annually, according to CIS Controls Assessment Specification. A client may require a different cadence. The MSP’s workflow should read the client-approved schedule rather than claim one universal frequency.
For queue ownership and escalation patterns, compare the MSP client-document chasing workflow. Access review differs because a response carries security authority and must remain tied to the exact client, entitlement, snapshot, and authenticated reviewer.
5. Assemble the audit packet without certifying it
Create a packet manifest listing campaign version, scope, connectors, query times, counts, failed sources, inventory, key logic, owners, requests, reminders, responses, exceptions, linked remediation, and the human certification record. Include hashes or immutable references when policy requires them.
The packet status can say collection_complete, collection_partial, owner_review_pending, or human_certification_recorded. Avoid labels such as compliant, clean, approved, or closed unless the authorized client decision explicitly provides that status. If a connector could not run, the packet must report UNKNOWN coverage for that source.
For field hygiene across PSA and client records, use the MSP CRM data-entry software guide. The same stable-ID discipline prevents access evidence from drifting when display names or owner contacts change.
What it costs to keep doing it manually
Manual cost is mostly repeated coordination: signing into tenants, exporting pages, renaming files, matching identities, splitting workbooks by owner, sending reminders, and rebuilding an evidence index. Human access judgment remains in both the manual and automated models, so exclude it from the claimed reduction.
| Per-cycle activity | Volume | Minutes each | Manual minutes | Manual hours |
|---|---|---|---|---|
| Launch and validate tenant exports | 12 tenants | 18 | 216 | 3.6 |
| Normalize account and entitlement rows | 3,600 rows | 0.15 | 540 | 9.0 |
| Resolve owner and identity exceptions | 70 cases | 5 | 350 | 5.8 |
| Prepare and send review sets | 24 owners | 8 | 192 | 3.2 |
| Track reminders and acknowledgements | 24 owners | 6 | 144 | 2.4 |
| Assemble client packet manifests | 12 clients | 20 | 240 | 4.0 |
| Total coordination | 1 cycle | — | 1,682 | 28.0 |
Illustrative planning arithmetic only. Time one real cycle and replace every volume and duration before using the table in a business case.
At a planning labor cost of $60 per hour, 28 coordination hours equal $1,680 per cycle. That is not the cost of the access review itself: client owners still need time to understand business need, examine exceptions, and make decisions. Also add connector licensing, implementation, security review, maintenance, and support before claiming payback.
28 hours per cycle is an example, not an industry average. A small MSP with two clients and reliable native reviews may spend less time maintaining an orchestration layer than it saves.
The tool comparison
The right architecture depends on where evidence already lives. Native identity-governance tools can be the best option when one client standardizes on one identity platform. GRC tools can organize control evidence. PSA tools own MSP work and escalation. Orchestration helps when one client campaign must reconcile several approved sources without replacing those systems.
| Tool category | Best fit | Evidence strength | Multi-client test | Human boundary to verify |
|---|---|---|---|---|
| Native IdP access reviews | One client, centralized identities and entitlements | Source-native objects and decisions | Confirm tenant isolation and delegated administration | Client owner certifies; no default approval on silence |
| GRC/compliance platform | Control calendar and auditor evidence are central | Campaign history, control mapping, attachments | Verify client workspaces and evidence export | Control owner signs; platform status is not certification |
| PSA/project workflow | MSP task ownership is the largest gap | Assignment, reminders, escalation, notes | Verify account-level evidence can link without copying secrets | Ticket closure cannot equal access approval |
| Spreadsheet + controlled repository | Low volume and stable scope | Inspectable rows and source files | Use separate client folders and protected sharing | Reviewer initials and approval record remain explicit |
| Orchestration layer | Several sources, repeated mappings, existing tools retained | Query manifests, normalized rows, exceptions, packet index | Demonstrate separate credentials, storage, and queues per client | No write permission for certification or revocation |
In a demonstration, test a successful tenant, expired connector, incomplete pagination, guest, shared account, MSP technician, conflicting reviewers, and approved remediation request. Inspect who can change scope, ownership, reminders, and final status.
US Tech Automations fits the orchestration row when an MSP needs to collect from multiple client-approved sources, normalize evidence, create owner-specific requests, and compile packets while retaining its PSA and GRC tools. See the agentic workflow platform for the trigger, routing, and human-review model; require a tenant-isolation and read-only-permission demonstration before rollout.
For the reporting decision, the MSP reporting software guide helps distinguish operational dashboards from evidence packages. A dashboard summarizes; an access-review packet must preserve source scope, exceptions, and reviewer identity.
Payback math
Use measured coordination time and a fully loaded internal rate. Keep three lines separate: capacity redirected from mechanical work, recurring workflow cost, and one-time implementation cost. Do not monetize avoided breaches or audit findings without evidence specific to the MSP.
| Payback input | Manual cycle | Automated cycle | Delta |
|---|---|---|---|
| Coordination hours | 28.0 hr | 9.0 hr | 19.0 hr |
| Planning labor cost | $60/hr | $60/hr | $0/hr |
| Coordination labor value | $1,680 | $540 | $1,140 |
| Recurring tools + maintenance | $0 incremental | $650 | -$650 |
| Net capacity value per cycle | $1,680 | $1,190 | $490 |
| Illustrative implementation cost | — | $2,500 | 5.1 cycles |
Illustrative model, not platform pricing or a promised result. Replace $60, $650, $2,500, and the hour estimates with quotes and measured internal costs.
The formula is simple: (manual coordination hours − automated coordination hours) × loaded hourly cost − recurring workflow cost. Divide one-time implementation cost by that per-cycle value. If the result is negative, do not force a payback story; tighten the native process or reduce scope.
Before counting any capacity, require a pilot to hit the control floor: 100% of evidence rows carry client and source IDs, 100% of source failures remain visible, 100% of decisions identify an authorized human, zero cross-client exposures occur, and zero automatic certifications or revocations occur. US Tech Automations should be evaluated on those controls before time reduction.
Who this is for
This workflow fits MSPs coordinating recurring access reviews for at least five clients, especially when each campaign spans an identity provider plus VPN, RMM, vault, firewall, or line-of-business systems. It works best when clients already name security or system owners, the MSP has documented delegated access, and an evidence retention location exists.
It is also useful when the MSP must review its own technician and service accounts across client tenants. Keep that scope distinct from client-user access and require both the MSP service owner and client authority where the agreement calls for dual review.
It is not the first project for an MSP without client consent, stable tenant IDs, a system inventory, or named certifiers. A provider with only a few clients on one identity platform may be better served by native access reviews. A client in an active incident, legal hold, investigation, or urgent termination process needs the corresponding approved procedure, not a routine review campaign.
Red flags: shared exports across clients, write-enabled collection credentials, owner inference from display names, silence treated as approval, a spreadsheet status used as revocation authority, or packets labeled compliant without client certification. Any cross-client exposure should stop the pilot and enter the MSP’s incident process.
FAQs
What can an MSP automate in a client access review?
An MSP can automate approved inventory pulls, evidence storage, stable-key mapping, owner requests, reminders, exception routing, response tracking, and packet assembly. Human client or security owners decide certification, remediation, revocation, risk acceptance, and closure.
How is access review different from employee offboarding?
Access review is a periodic snapshot across current users, guests, services, shared identities, privileges, and MSP accounts. Offboarding starts with a specific departure or relationship change and may trigger authorized revocation. This evidence workflow does not execute the offboarding action.
Which account types belong in the evidence scope?
Include only the systems and types the client approves, then consider human users, administrators, guests, service accounts, shared accounts, emergency accounts, vendors, and MSP technician identities. Mark unsupported sources as coverage gaps rather than assuming no access exists.
Can the workflow revoke access after a reviewer requests it?
No. It can create a linked remediation task containing the authenticated request and evidence. Authorized personnel validate scope and execute revocation through a separately approved process, then return evidence for human closure.
What happens when a client owner does not respond?
The record remains overdue. Automation may send approved reminders and escalate to the documented backup owner, but it cannot approve access by silence. The campaign packet should show the unanswered scope and elapsed time.
When is native identity governance enough?
Native tooling is often enough when one client centralizes its material accounts and entitlements in one platform, owner routing works, and evidence exports meet the client’s needs. Add orchestration only when authorized sources, mappings, reminders, or packet requirements cross systems repeatedly.
Key Takeaways
Define a versioned campaign scope for each client, system, account type, cutoff, owner, and evidence rule before collection.
Preserve tenant separation and source truth. A failed connector, incomplete page set, or unmatched identity is UNKNOWN—not zero access.
Normalize to client, system, principal, entitlement, and snapshot keys without merging people or privileges by display-name similarity.
Route authenticated requests and reminders to named owners, but never convert silence or a tool status into access approval.
Build audit packets that expose scope, sources, exceptions, responses, and linked remediation while leaving certification and closure to humans.
Keep this periodic review distinct from backup-failure escalation and employee offboarding; it collects access evidence and does not restore systems or revoke users.
US Tech Automations can help map one client campaign across approved directories, PSA queues, and evidence repositories while preserving client authority and read-only collection. Start at US Tech Automations with a redacted source export, client system inventory, owner map, and certification policy.
About the Author

Helping businesses leverage automation for operational efficiency.
Related Articles
See how AI agents fit your team
US Tech Automations builds and runs the AI agents that handle this work end to end, so your team doesn't have to.
View pricing & plans