SOC 2 Access Reviews: A Step-by-Step Process Guide
How to run quarterly access reviews that satisfy SOC 2 auditors — what to review, who should review it, how to document outcomes, and how to close the loop on access changes.
Why Access Reviews Are Non-Negotiable for SOC 2
CC6.1 of the SOC 2 Trust Services Criteria requires that logical access to systems is restricted to authorized users, that access is periodically reviewed, and that access is removed when no longer needed. Quarterly access reviews are the standard mechanism for proving this over a Type II audit period.
This is the control that most teams either skip entirely or document poorly. "We reviewed access" without a record of who reviewed what, what was found, and what was changed is not evidence — it's an attestation. Auditors sample access review records across the full observation period. Missing or undocumented reviews are among the most common SOC 2 findings.
What an Access Review Must Cover
A complete access review for SOC 2 covers at minimum:
Step 1 — Pull the Input Data
Generate your IAM Credential Report — this is the canonical source for AWS access review:
aws iam generate-credential-report
# Wait ~30 seconds, then:
aws iam get-credential-report --query 'Content' --output text | base64 --decode > credential-report.csv
The credential report contains: every IAM user, password enabled/disabled, MFA status, access key ages, last access times, last password use.
Also pull your GitHub organization members list (via GitHub API or the Organization Members page) and any other access lists specific to your stack.
Step 2 — Run the Review
Open the credential report and work through it systematically. For each user, verify:
- Is this person still employed? (Cross-reference with HRIS)
- Is their access still required for their current role?
- Do they have more access than their role requires?
- Is MFA enabled?
- If they have access keys — are they within rotation policy? Were they used recently?
Step 3 — Assign and Track Remediation
For every access item that needs action, create a tracking item:
| Finding | Owner | Action Required | Deadline | Status |
| john@acme.com — access key 365 days old | IT | Rotate or disable key | 7 days | Open |
| mike@acme.com — AdminAccess, left company 30 days ago | IT | Revoke all access immediately | Immediate | Open |
| jennifer@acme.com — prod DB access but on design team | Eng Manager | Remove RDS access | 14 days | Open |
Step 4 — Document the Completed Review
After all actions are taken, close the review with a summary document. Minimum required documentation:
- Date of review
- Reviewer(s) name(s)
- Systems reviewed (AWS IAM, GitHub, application admin, etc.)
- Total accounts reviewed
- Findings count (how many needed action)
- Actions taken (list or link to tickets)
- Reviewer attestation — the reviewer confirms the review is complete and accurate
Store this document in a location that can be shared with auditors. SecureSpect's evidence vault can hold these documents alongside automated control evidence.
Quarterly Cadence
Run access reviews on a quarterly schedule — January, April, July, October works well. Put it in a recurring calendar event with a designated reviewer and all source materials linked. A review that doesn't happen on schedule is a gap in your observation period evidence.
For SOC 2 Type II with a 12-month observation period, you need evidence of at least four access reviews. For a 6-month period, two reviews. Each one documented per the structure above.
Common Access Review Failures
Too broad: "We reviewed all access and everything looked fine" is not evidence. Be specific — list what was reviewed and what was found.
No follow-through: Review completed but orphaned access keys were never rotated. The review record and the change record must both exist.
Reviewer isn't neutral: The person reviewing their own access is a conflict of interest. Engineering managers review individual contributor access; a C-suite member reviews engineering manager access.
Not enough frequency: Annual reviews don't satisfy the quarterly expectation in SOC 2 Type II for most auditors.