Cloud Compliance for Fintech: A Provider-Agnostic Guide to Security, Governance & Audit Readiness
Tooling tells you the current state of a resource. Compliance requires proof that the right state held continuously — whichever cloud it runs on. This guide maps the full path to SOC 2, PCI DSS v4.0, ISO 27001, and NIST CSF, with AWS, Azure, and GCP shown side by side at every stage.
Security tooling is not the same thing as compliance
Most teams discover this gap a few weeks before an auditor’s first evidence request. Threat detection is enabled. Cloud posture management is green. Audit logs are flowing. And the auditor still asks: show me the ticket where this was remediated, who approved the exception, and proof this control held for the last twelve months — not just today.
That gap exists because a tool reports the current state of a resource. Compliance requires a process: detection, ownership, remediation, validation, and a durable record proving the process happened, repeatedly, over time. That’s true whether the resource sits in AWS, Azure, or GCP — the provider changes the console, not the requirement. Two things make this genuinely hard beyond the sheer number of controls:SOC 2, PCI DSS v4.0, ISO 27001 & NIST CSF — how they relate
These four frameworks overlap heavily at the control level but differ in what they actually certify. Understanding the difference prevents a common mistake: treating any one of them as a substitute for the others.| Framework | What it actually certifies | Typically required by |
|---|---|---|
| PCI DSS v4.0 | Specific technical/process controls over cardholder data environments (CDE) | Card networks, acquiring banks, payment processors |
| SOC 2 (Type I/II) | An independent auditor’s attestation that controls you claim to have actually operated as designed | Enterprise customers, partners, procurement teams |
| ISO 27001 | Certification of an Information Security Management System (ISMS) — the governance process itself, not just technical controls | International customers, partners, some regulators |
| NIST CSF | A voluntary control-mapping framework (Identify/Protect/Detect/Respond/Recover) — not itself certifiable, but widely used to organize a control set | Internal risk management, US regulators referencing it as a baseline |
The compliance lifecycle
Ten stages, one loop. Every closed finding and every audit cycle should feed back into better preventive controls — this is not a line, it’s a wheel.- 1Identify
- 2Define
- 3Implement
- 4Monitor
- 5Detect
- 6Remediate
- 7Validate
- 8Evidence
- 9Audit
- 10Improve
Identify and Define set scope and requirements. Implement and Monitor build and watch the controls. Detect, Remediate and Validate close findings. Evidence and Audit prove it happened. Improve feeds the next loop.
Landing zone governance
Every major provider expresses the same idea with different nouns: a hierarchical structure that isolates workloads, applies baseline guardrails automatically, and gives auditors a clean scoping boundary. A single-account, single-subscription, or single-project environment makes blast radius and audit scope nearly impossible to reason about.| Concept | AWS | Azure | GCP |
|---|---|---|---|
| Org root | AWS Organizations | Microsoft Entra tenant | Google Cloud Organization |
| Grouping | Organizational Units (OUs) | Management Groups | Folders |
| Workload boundary | Account | Subscription | Project |
| Guardrail automation | Control Tower | Azure Landing Zones / Blueprints | Organization Policy Service |
| Preventive policy | Service Control Policies (SCPs) | Azure Policy (deny effect) | Organization Policy constraints |
- Security Tooling
- Log Archive / SIEM Sink
- Dev
- QA
- UAT
- Production
- DR / Secondary Region
ACCOUNT · SUBSCRIPTION · PROJECT = THE WORKLOAD BOUNDARY
The labels here are generic on purpose — map “Account” to Subscription or Project depending on your provider. The boundary logic is identical: a natural enforcement point for preventive policy, a clean audit-scoping mechanism, and a blast-radius limiter.
Identity and access management
Identity is the control area auditors scrutinize hardest, because nearly every other control depends on it — and it’s also the area with the most consistent vocabulary across providers, since PCI DSS Requirement 7–8, SOC 2 CC6, and ISO 27001 Annex A.9 all describe the same underlying expectations.| Concept | AWS | Azure | GCP |
|---|---|---|---|
| Central identity / SSO | IAM Identity Center | Microsoft Entra ID | Cloud Identity / Workforce Identity Federation |
| Fine-grained authorization | IAM policies | Azure RBAC | Cloud IAM roles & conditions |
| Unused-access detection | IAM Access Analyzer | Entra Permissions Management | Policy Analyzer / Recommender |
| Break-glass / temp elevation | STS temporary credentials | Privileged Identity Management (PIM) | Short-lived credentials via Workload Identity |
| Control | Objective | Evidence |
|---|---|---|
| Root/global-admin MFA enabled | Prevent top-level compromise | Credential or sign-in report |
| No standing human credentials | Eliminate long-lived creds | SSO/identity provider config export |
| Least privilege enforced | Reduce excess permissions | Access-analysis findings |
| Credential/key rotation | Limit exposure window | Rotation logs or credential report |
| Quarterly access review | Remove stale access | Signed review record |
Preventive policy defines the ceiling, not the grant
SCPs, Azure Policy (deny effect), and GCP Organization Policy constraints all do the same job: they set the maximum available permissions at the org/folder level — never granting permissions, only constraining them, even for account or subscription administrators. Example shown in AWS SCP syntax; the same intent is expressed as an Azure Policy deny-effect definition or a GCP Organization Policy constraint.// AWS SCP example — deny disabling audit logging, applied org-wide
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyAuditLogDisable",
"Effect": "Deny",
"Action": ["cloudtrail:StopLogging", "cloudtrail:DeleteTrail"],
"Resource": "*"
}]
}
Network security and compliance
A compliant network architecture separates workloads by trust boundary — this pattern is identical on every provider, only the resource names change. Public subnets hold only internet-facing load balancers; private subnets hold application compute; a dedicated data tier has no route to the internet at all. Databases should never be publicly accessible — access routes exclusively through application-tier firewall rules.| Concept | AWS | Azure | GCP |
|---|---|---|---|
| Virtual network | VPC | Virtual Network (VNet) | VPC Network |
| Instance-level firewall | Security Groups | Network Security Groups (NSGs) | VPC Firewall Rules |
| Subnet-level firewall | Network ACLs | NSG at subnet scope | Hierarchical firewall policies |
| Private service access | VPC Endpoints | Private Endpoints / Private Link | Private Service Connect |
| Egress gateway | NAT Gateway | NAT Gateway | Cloud NAT |
| Hub-and-spoke connectivity | Transit Gateway | Virtual WAN / Hub VNet | Network Connectivity Center |
PUBLIC SUBNET / SUBNET-EXTERNAL
PRIVATE SUBNET (APP / COMPUTE TIER)
DATA TIER SUBNET (NO INTERNET ROUTE)
Administrative access to private/data tiers goes through a session-broker service (SSM Session Manager, Azure Bastion, or Identity-Aware Proxy) or VPN — never a direct inbound rule.
CSPM, configuration monitoring & threat detection
Every major provider now ships a native three-layer detection stack: a configuration recorder that continuously tracks resource state, a CSPM/findings aggregator that evaluates state against named standards and produces a posture score, and a threat detection service that correlates logs and behavior against threat intelligence. The layers map cleanly across providers even though the product names differ.| Layer | AWS | Azure | GCP |
|---|---|---|---|
| Config recorder | AWS Config | Azure Resource Graph + Policy | Cloud Asset Inventory |
| CSPM / posture & findings hub | Security Hub | Microsoft Defender for Cloud (CSPM) | Security Command Center |
| Threat detection | GuardDuty | Defender for Cloud (Cloud Workload Protection) | Security Command Center (Event Threat Detection) |
| Vulnerability scanning | Inspector | Defender Vulnerability Management | Security Command Center (VM/container scanning) |
- Security Control (Framework-Mapped)
- Control Evaluation
- Finding Generated
- Finding Triaged
- Remediation
- Validation
- Finding Closed
| Config Recorder | CSPM Hub | Threat Detection | |
|---|---|---|---|
| Answers | Is this configured correctly? | What’s our posture vs. this standard? | Is something malicious happening now? |
| Data source | Resource configuration | Findings from other services | Logs + threat intel + behavior |
Containers, serverless & databases
For containers (ECS/EKS, Azure Kubernetes Service/Container Apps, GKE/Cloud Run): non-root containers,readonlyRootFilesystem: true, minimal base images, mandatory image scanning, no privileged containers, and secrets injected via a managed secrets service — never baked into images. Read-only root filesystem is a good example of why small controls matter across every platform: it stops a compromised container from writing persistence mechanisms to its own filesystem, and it’s commonly missed on sidecar containers even after the main app container is remediated.
For serverless functions (Lambda, Azure Functions, Cloud Functions/Cloud Run): least-privilege execution identity per function, no secrets in environment variables, current supported runtimes, and enabled code/dependency scanning.
For managed databases (RDS/Aurora, Azure SQL/Cosmos DB, Cloud SQL/AlloyDB/Spanner): encryption at rest via the provider’s key-management service, TLS in transit, private-subnet-only deployment, no public endpoint, high-availability replication, and credentials in a managed secrets service with automated rotation.
| AWS | Azure | GCP |
|---|---|---|
| Secrets Manager / Parameter Store | Key Vault | Secret Manager |
CI/CD compliance & compliance as code
Shifting compliance left means catching violations before deployment, not after.- Git Commit
- SAST
- Dependency Scan
- IaC Scan
- Container Build
- Container Scan
- Approval
- Deployment
- Runtime Monitoring
A mandatory human approval gate precedes Production deployment, with the approval itself captured as evidence.
Findings, exceptions & audit evidence
- Finding Detected
- Validate
- Classify
- Assign Owner
- Create Ticket
- Remediate
- Validate Fix
- Close Finding
- Collect Evidence
Ambiguous ownership is the most common reason findings go stale — every finding needs exactly one accountable owner.
| Control | Control Layer | Evidence | Frequency | Framework Tie |
|---|---|---|---|---|
| MFA enforced | Identity / SSO | Config export | Continuous | PCI 8.4, SOC 2 CC6 |
| Centralized audit logging | Audit log service | Log config + samples | Continuous | PCI 10, SOC 2 CC7 |
| Encryption at rest | Key management service | Config rule status | Continuous | PCI 3, ISO A.10 |
| Object storage public access blocked | Storage service | CSPM control status | Continuous | PCI 1, SOC 2 CC6 |
| Vulnerability scanning | Vuln. management service | Scan report | Weekly | PCI 6, 11 |
| Quarterly access review | Identity / SSO | Signed review record | Quarterly | PCI 7, ISO A.9 |
Real-world case study: triaging a batch of High findings
A fintech running a landing zone with Dev/QA/UAT/Production boundaries, a mix of containers, managed databases, object storage, and serverless functions — on one provider or split across more than one — receives six High-severity CSPM findings in one sweep. The pattern below applies whether the underlying platform is AWS, Azure, or GCP.Highest priority — active exposure
- Object storage bucket publicly accessible — check audit-log data events for exfiltration first, then apply the public access block
- Unrestricted SSH firewall rule — restrict to bastion/VPN CIDR or replace with a session-broker service
Detection gaps — close before others
- Storage-layer threat detection disabled — enable account/project-wide, confirm data events are flowing
- Function vulnerability scanning disabled — enable code + dependency scanning on the serverless platform
Workload hardening
- Container missing read-only root filesystem — update the IaC module, add writable mounts only where required
- Function code scanning disabled — enable and confirm findings populate
The pattern is identical across all six, and across every provider: understand → contain if actively exploitable → fix root cause via IaC → validate in the tool that raised it → capture the artifact trail.
Automated remediation
Automated remediation should almost always pair with a human approval step in Production — full auto-remediation without review can itself become an availability risk. The event-driven pattern is identical across providers: a finding triggers an event, an event bus routes it to a function, the function remediates, and the CSPM platform re-evaluates.| Concept | AWS | Azure | GCP |
|---|---|---|---|
| Event bus | EventBridge | Event Grid | Eventarc / Pub/Sub |
| Remediation compute | Lambda / SSM Automation | Azure Functions / Logic Apps | Cloud Functions / Cloud Run jobs |
- Finding (CSPM Platform)
- Event Bus / Trigger Rule
- Serverless Function / Automation Runbook
- Remediation Applied
- Validation
- CSPM Finding Updated
End-to-end reference architecture
This pattern applies whether the workload sits on one provider or is deliberately spread across more than one — the security layer at the bottom is where posture, config, and detection findings converge into a single view regardless of source.- Containers / VMs
- Managed DB
- Object Storage
- Serverless
- Managed DB
- Object Storage
- Containers
- Managed DB
- Object Storage
Cloud Security Layer
- CSPM
- Config Rules
- Threat Detection
- Vuln. Mgmt
- Audit Logs
- Monitoring
Operating model & RACI
Daily
- Review critical/high findings
- Monitor security alerts
- Investigate anomalies
Weekly
- CSPM & vulnerability review
- Remediation tracking
- Cost/security review
Monthly
- IAM access review
- Vulnerability trend analysis
- Exception review
Quarterly
- Access certification
- DR validation
- Audit evidence refresh
| Area | Cloud/DevOps | Security | GRC/Compliance |
|---|---|---|---|
| IAM | R | A | I |
| Vulnerability Mgmt | R | A | I |
| Audit Evidence | C | R | A |
| Risk Acceptance | C | R | A |
R = Responsible · A = Accountable · C = Consulted · I = Informed
Compliance maturity model
Ad Hoc
Security and compliance handled manually, reactively, with no consistent process.Defined
Policies exist; baseline technical controls are implemented, but monitoring is inconsistent.Managed
Continuous monitoring is in place; findings have clear ownership and tracked remediation.Automated
Remediation and evidence collection are substantially automated, reducing manual audit prep.Continuous Compliance
Compliance is embedded in architecture, CI/CD, and governance — not bolted onto engineering work.Implementation roadmap
Foundation
- Organizations & Control Tower
- Account structure, SCPs
- Identity Center, MFA
Visibility
- Audit logs, config recorder
- Network flow logs
- Centralized logging
Security Posture
- CSPM findings hub
- Threat detection, vuln. scanning
- Ongoing CSPM process
Workload Security
- Compute (VMs, containers)
- Serverless, managed DBs, storage
DevSecOps
- SAST / DAST
- IaC + container scanning
Automation
- Event bus, functions
- Automated remediation
Audit Readiness
- Evidence repository
- RACI, exceptions
Security & compliance checklist
A working subset — group each item by control implemented, monitored, evidence available, and owner assigned.Governance
- Multi-account structure with dedicated Security/Log Archive accounts
- SCPs restricting critical security actions
- Regions restricted to approved list
IAM
- Root MFA enabled, access keys removed
- Identity Center in place of standing IAM users
- Quarterly access reviews conducted
Network
- Databases in private/isolated subnets
- No unrestricted SSH/RDP
- VPC Flow Logs enabled
Logging
- Org-wide audit logging enabled
- Logs in access-restricted boundary
- Retention aligned to framework
Data Protection
- Encryption at rest on storage, disks, databases
- Secrets in a managed secrets service, not code
- TLS enforced in transit
Vulnerability Mgmt
- Continuous scanning of compute, images, functions
- Documented SLA by severity
- Exception process for unremediated findings
