Skip to main content
SOC 2 Compliance on Cloud Infrastructure: A Technical Checklist for Engineering Teams

SOC 2 Compliance on Cloud Infrastructure: A Technical Checklist for Engineering Teams

SOC 2 audits fail on missing evidence, not missing controls. Here's the exact checklist cloud engineering teams need to pass CC6, CC7, and CC8 without surprises during fieldwork.

Muskan Bandta By Muskan Bandta
Published: April 3, 2026 8 min read

Most engineering teams approach their first SOC 2 audit the wrong way. They spend weeks configuring tools and writing policies, then get surprised during fieldwork when the auditor asks for a timestamped screenshot proving that the quarterly access review happened in Q2. The tool ran. The review happened. There is just no record of it.

SOC 2 Type II audits cover an observation period, typically 6 months for a first engagement and 12 months for renewals. The 2024 CBIZ SOC Benchmark Study analyzed 193 SOC 2 reports and found an average of 124 controls per report. The audit is not a point-in-time assessment. It is a longitudinal sampling exercise. Every control must produce verifiable evidence across the entire period.

This checklist focuses on what cloud infrastructure engineers actually need to build and document.


What SOC 2 Actually Audits on Cloud Infrastructure

 

SOC 2 is built on nine Common Criteria (CC) categories defined by the AICPA. Only the Security criteria (CC1 through CC9) are mandatory. Availability, Confidentiality, Processing Integrity, and Privacy are optional add-ons. As of 2024, 64.4% of SOC 2 reports include Confidentiality in scope, up from 34% in 2023, which means more engineering teams are getting pulled into data classification and access segmentation requirements they did not anticipate.

Cloud infrastructure is the primary evidence surface for six of the nine CC categories. The infrastructure generates the logs, enforces the access controls, manages the encryption keys, and hosts the change management audit trails.

SOC 2 Common Criteria mapped to cloud infrastructure evidence sources.

Figure: SOC 2 Common Criteria mapped to their primary cloud infrastructure evidence sources

What auditors do not assess directly: the cloud provider’s own infrastructure layer. AWS, GCP, and Azure each hold their own SOC 2 reports. You inherit those infrastructure-layer controls. You are fully responsible for everything above the hypervisor, which means your application stack, your identity configuration, your operational workflows, and your evidence collection.


The Access Control Checklist (CC6)

 

CC6 is the most sampled criterion in SOC 2 audits. It covers identity, authentication, provisioning, deprovisioning, and access reviews. For cloud-native teams, it has more failure modes than any other area.

MFA coverage. MFA must be enforced on every privileged path to production, not just the primary cloud console. Auditors check the cloud provider (AWS, GCP, Azure), version control (GitHub, GitLab), CI/CD platforms, production databases, and any SaaS tool with access to customer data. A team that enforces MFA on AWS but not on GitHub fails CC6, even if no one has exploited the gap.

Quarterly access reviews. Policy must require quarterly reviews. Evidence must prove each review happened. For a 12-month audit, auditors sample Q1, Q2, Q3, and Q4 independently. Missing one quarter is a finding even if the other three are clean. The evidence format matters: raw exports from IAM, timestamped screenshots with visible system context, and approval records from whoever signed off on the review.

Offboarding. Auditors pull a list of all employee terminations during the observation period and sample a subset, sometimes 100% if the population is under 25. For each termination, they verify that accounts were disabled with a timestamp that matches or precedes the HR termination date. A two-day gap between termination and account disablement is a finding.

Resource TypeMFA RequiredReview CadenceEvidence Format
Cloud console (AWS / GCP / Azure)Yes, all accountsQuarterlyIAM export with timestamp
GitHub / GitLabYes, all membersQuarterlyOrg audit log export
CI/CD (GitHub Actions, Jenkins)Yes, admin accountsQuarterlyPipeline access log
Production databasesYes, human accessQuarterlyDB user list with last login
Third-party SaaS (Jira, Datadog, etc.)Yes, if prod dataQuarterlyAdmin-generated user report
Service accounts / API keysRotation policyAnnuallyRotation log with dates

Service accounts require a different approach. Long-lived AWS access keys attached to IAM users are a finding. Auditors expect IAM roles for service-to-service communication and documented key rotation schedules for any long-lived credentials that cannot be replaced with role-based access.


Logging, Monitoring, and Alerting (CC7)

 

CC7 covers the operational evidence layer: what your infrastructure logs, how long those logs are retained, and what alerting you have configured. Three specific failures appear consistently in audit findings.

Log coverage gaps. AWS CloudTrail must be enabled in all regions, not just your primary region. Single-region CloudTrail is one of the most common AWS-specific findings. For GCP, Cloud Audit Logs must cover both Admin Activity and Data Access log types. For Azure, Monitor diagnostic settings must be configured at the subscription level, not just per-resource.

Log retention mismatch. A 30-day CloudWatch log retention setting does not survive a 6-month or 12-month audit. Retention must cover the full observation period plus a buffer. The standard practice is 12-month minimum retention in the primary log store, with archive tiers (S3 Glacier, GCS Archive) for cost management. Auditors cannot retroactively recover logs that were rotated out during the observation period.

Alerting evidence. Having GuardDuty or Security Command Center enabled is not sufficient. Auditors expect evidence that alerts are being reviewed and acted on. That means a documented process for triaging security findings, tickets created for each finding above a threshold, and evidence that the process ran during the observation period.

Log sources flowing through SIEM to produce timestamped audit-ready evidence for CC7 compliance.

Figure: Log sources flow through SIEM to generate timestamped, audit-ready evidence records for CC7 compliance

Vulnerability scanning connects to CC7 and CC3. SOC 2 does not mandate a specific scanning tool or cadence, but auditors treat monthly vulnerability scans as table stakes for CC3.2 (Risk Assessment) and expect evidence that scan findings were reviewed and remediated on a documented schedule. Annual penetration tests cost $5,000-$15,000 for a typical SaaS application and provide the strongest evidence for this criterion.


Change Management and Secrets Hygiene (CC8 and CC6.7)

 

CC8 is the change management criterion. For engineering teams running CI/CD pipelines, it has one specific failure mode that trips up nearly every first-time audit: retroactive change tickets.

The control requires that every production change have a corresponding change ticket created before the deployment begins. Auditors verify this by comparing deployment timestamps in CloudTrail or CI/CD audit logs to the ticket creation timestamps in your change management system. A ticket created five minutes after a deployment is a finding. Auditors sample across the full observation period, which means a single team’s habit of creating tickets after the fact will generate multiple findings.

The operational fix is to require a ticket ID in the CI/CD pipeline configuration before a deployment job can be triggered. The ticket ID becomes part of the deployment log, and the creation timestamp is verifiable in Jira or ServiceNow.

Evidence TypeWhat Auditors CheckCommon Finding
Change ticketsCreation timestamp vs. deployment timestampTicket created after deployment
Approval recordsApprover name, timestamp, ticket referenceSelf-approval without second reviewer
Test environmentEvidence deployment ran in staging firstNo staging environment reference in ticket
Rollback planDocumented rollback procedure in ticketNo rollback procedure documented

Secrets hygiene (CC6.7). API keys, database credentials, and tokens stored in .env files, config files, or version control are a direct SOC 2 finding. Auditors check by reviewing your secrets management policy and then asking for evidence of implementation, which means configuration exports showing that your secrets management tool (AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager, Azure Key Vault) is in active use for production credentials. A policy that says “we use a secrets manager” without configuration evidence is treated as an unverified claim.

Encryption requirements are specific. AES-256 for data at rest is the standard. TLS 1.2 minimum for data in transit, with TLS 1.3 increasingly expected by auditors. Key rotation schedules, commonly 90 days, must be documented and verifiable through key management logs.


The 10 Most Common Audit Findings

 

These are the control failures that appear most frequently in qualified SOC 2 opinions, ordered by recurrence:

---> -> Access review gaps: Quarterly reviews happened, but no documented evidence exists. Policy says reviews occur; no screenshots, exports, or approval records prove they did. -> Incomplete offboarding: Former employees retain access to GitHub, cloud consoles, or SaaS tools after their HR termination date. Auditors sample terminations and verify timestamps. -> MFA coverage gaps: MFA enforced on the cloud provider but not on GitHub, CI/CD platforms, or production databases. Every privileged path to production requires MFA. -> Change management retroactivity: Deployment timestamps in CI/CD logs predate change ticket creation timestamps. Auditors compare both automatically. -> Log retention mismatches: CloudWatch or equivalent logs set to 30-day retention in systems subject to a 6-month or 12-month observation period. -> Secrets in code or config: API keys or database credentials in .env files, Kubernetes secrets without encryption at rest, or hardcoded values in version control. -> Untested incident response: An incident response plan exists as documentation, but has no evidence of a tabletop exercise or actual incident during the observation period. -> Vendor risk gaps: Incomplete inventory of third-party vendors with access to customer data, outdated security assessments, or no documented process for reviewing vendor SOC 2 reports. -> Policy over-promising: Security policies written aspirationally, stating controls as facts without verifiable implementation evidence. Auditors require proof, not statements. -> Backup restoration untested: Backup jobs complete successfully, but no documented restoration test exists. The control requires evidence of successful restoration, not just backup completion.

The three root causes behind qualified SOC 2 audit opinions: missing evidence, operational habit gaps, and unverified policies.

Figure: The three root causes behind qualified SOC 2 audit opinions—missing evidence, operational gaps, and unverified policies

--->


Building Evidence Workflows That Survive Sampling

 

The pattern across all ten common findings is the same: the control runs, but it leaves no verifiable record. A quarterly access review that happens in a spreadsheet and gets deleted is not a control. An incident response tabletop exercise that produces no written debrief is not a control. Auditors can only assess what they can see.

Building audit-ready evidence means treating every control execution as a record-keeping event. Access reviews must export from IAM to a dated file stored in a location auditors can access. Offboarding tickets must include timestamps and account disablement confirmation. Change tickets must be created before deployments and linked to deployment logs.

Control AreaEvidence FormatRetention RequirementSampling Risk
Access reviewsIAM export, approval email or ticketFull observation period4 samples (one per quarter)
OffboardingHR ticket + account disablement screenshotFull observation period100% if fewer than 25 terminations
Change managementChange ticket + deployment log with matching timestampsFull observation period25 samples minimum
Incident responseTabletop debrief or incident postmortemFull observation period1-2 per period expected
Log retentionRetention policy config + log export from earliest date12 months minimumAuditors check oldest log date
Vendor assessmentsVendor SOC 2 report + internal review recordAnnualAll in-scope vendors

Compliance automation platforms (Vanta, Drata, Secureframe) reduce this burden by integrating with AWS, GitHub, Okta, and HR systems to collect evidence continuously. Teams using these platforms report roughly 50% shorter audit timelines and up to 80% reduction in ongoing maintenance effort. The tradeoff is integration maintenance: the platform is only as reliable as the integrations feeding it.

Before you build a control, define the evidence the control will produce. Not after. If a control cannot produce a verifiable, timestamped record, it cannot survive audit sampling. Start there.

Muskan Bandta

Written by

Muskan Bandta Author

Engineer at Zop.Dev

Tagged in

ZopDev Resources

Stay in the loop

Get the latest articles, ebooks, and guides
delivered to your inbox. No spam, unsubscribe anytime.