Written by
Halkwinds Editorial Team
Halkwinds Research & Editorial

Cloud Compliance: Achieving GDPR, HIPAA, and SOC 2 on AWS and Azure
How to configure cloud infrastructure to meet regulatory requirements — with control mapping and audit evidence automation.
Achieving cloud compliance is no longer a checkbox exercise you handle once before an annual audit. For IT directors running production workloads on AWS or Azure, GDPR, HIPAA, and SOC 2 have become continuous operational requirements that touch identity, networking, data storage, logging, and vendor management. The stakes are real: regulatory fines under GDPR can reach the higher of €20 million or 4% of global annual revenue, HIPAA penalties scale into the millions per violation category, and a failed SOC 2 audit can stall enterprise deals for months. This article walks through how to configure AWS and Azure to satisfy these frameworks — with practical control mapping, native tooling, and automated evidence collection so your team isn't scrambling the week before an auditor arrives.
- Background / Why This Matters
- Core Concepts and Architecture
- Implementation Strategy
- Scaling and Operational Considerations
- Common Mistakes / What to Avoid
- Frequently Asked Questions
- Conclusion
Background / Why This Matters
The three frameworks you're likely juggling serve different masters. GDPR is a data protection regulation covering the personal data of EU residents, focused on lawful processing, data subject rights, and cross-border transfer restrictions. HIPAA governs protected health information (PHI) in the United States, with specific Security Rule requirements around access controls, encryption, and audit logging. SOC 2 is an attestation framework built on the AICPA Trust Services Criteria — Security, Availability, Processing Integrity, Confidentiality, and Privacy — that customers increasingly demand before signing enterprise contracts.
Here's what makes cloud compliance genuinely hard for IT directors: these frameworks overlap heavily but map differently onto cloud primitives. Encryption at rest satisfies part of all three, but each has distinct requirements for who can access keys, how long logs are retained, and how you demonstrate the control is actually working. Research consistently suggests that the majority of cloud security incidents stem from misconfiguration rather than sophisticated attacks — meaning your compliance risk is often an unenforced setting, not a zero-day.
The good news is that the "shared responsibility model" works in your favor. AWS and Azure both hold their own SOC 2, ISO 27001, and HIPAA-eligible attestations for the underlying infrastructure. Your job is to secure and document the layer you control: configurations, identity, data handling, and monitoring.
Actionable takeaway: Build a single control matrix that maps each requirement to the framework(s) it satisfies. One well-configured encryption or logging control often covers GDPR, HIPAA, and SOC 2 simultaneously — don't implement it three separate ways.
Core Concepts and Architecture
A compliant cloud architecture rests on five pillars that recur across every framework. Getting the architecture right upfront is far cheaper than retrofitting controls after an audit finding.
1. Identity and Access Management
Least-privilege access is foundational. On AWS, this means IAM roles scoped tightly, mandatory MFA on the root account and all privileged users, and permission boundaries to prevent privilege escalation. On Azure, use Azure AD (Entra ID) with Conditional Access policies and Privileged Identity Management (PIM) for just-in-time elevation. HIPAA's access control requirement and SOC 2's logical access criteria both hinge on this pillar.
2. Encryption Everywhere
Encrypt data at rest using AWS KMS or Azure Key Vault, and enforce TLS 1.2+ in transit. For HIPAA and GDPR, key management matters as much as encryption itself — use customer-managed keys (CMK) where you need control over rotation and revocation, and log every key usage event.
3. Network Segmentation
Isolate sensitive workloads in private subnets, use security groups and network ACLs (AWS) or Network Security Groups (Azure), and eliminate public exposure of databases. GDPR data residency requirements often dictate that you pin workloads to EU regions — eu-west-1 or eu-central-1 on AWS, or Azure's West Europe / North Europe.
4. Continuous Configuration Monitoring
AWS Config and Azure Policy are the workhorses here. AWS Config evaluates resources against rules (for example, "S3 buckets must not be public" or "EBS volumes must be encrypted") and records configuration history. Azure Policy does the equivalent, with the ability to deny non-compliant resource creation outright — a powerful preventive control.
5. Comprehensive Audit Logging
CloudTrail on AWS records every API call across your account; enable it organization-wide with log file validation and deliver logs to a locked-down S3 bucket. Azure Monitor and Activity Logs provide the equivalent. HIPAA requires audit trails, GDPR requires demonstrable accountability, and SOC 2 auditors will ask for these logs directly.
Actionable takeaway: Treat CloudTrail/Azure Activity Logs and AWS Config/Azure Policy as non-negotiable day-one infrastructure — not something you bolt on later. They generate the evidence trail every auditor asks for.
Implementation Strategy
Move from architecture to execution in a defined sequence. Jumping straight to tooling without a control mapping tends to produce noise instead of coverage.
- Establish a control mapping. Document each framework requirement and the specific cloud control that satisfies it. This is where the overlap pays off.
- Enable foundational logging and monitoring. Turn on CloudTrail (all regions) or Azure Activity Logs, then AWS Config or Azure Policy with the relevant conformance packs. AWS ships a "HIPAA Security" and "Operational Best Practices for GDPR" conformance pack; Azure offers built-in policy initiatives for HIPAA HITRUST and SOC 2.
- Deploy preventive guardrails. Use AWS Organizations Service Control Policies (SCPs) or Azure Policy deny rules to make non-compliant actions impossible — for example, blocking resource creation outside approved regions for GDPR residency.
- Automate evidence collection. Connect a compliance automation platform like Drata, Vanta, or AWS Audit Manager. These tools pull real-time evidence from your cloud environment and map it to framework controls, replacing screenshot-and-spreadsheet audit prep.
- Remediate and iterate. Review non-compliant findings weekly, assign owners, and close gaps before they become audit exceptions.
The following table shows how the same cloud controls map across all three frameworks and the native services that implement them:
| Control Area | GDPR | HIPAA | SOC 2 | AWS Service | Azure Service |
|---|---|---|---|---|---|
| Encryption at rest | Art. 32 | Security Rule §164.312 | CC6.1 | KMS + Config rule | Key Vault + Policy |
| Access control / MFA | Art. 32 | §164.312(a) | CC6.1–CC6.3 | IAM + SCPs | Entra ID + PIM |
| Audit logging | Art. 30 | §164.312(b) | CC7.2 | CloudTrail | Activity Logs |
| Config monitoring | Art. 25 | §164.308 | CC7.1 | AWS Config | Azure Policy |
| Data residency | Ch. V transfers | N/A | Confidentiality | Region pinning + SCP | Region policy |
One practical note on HIPAA: before storing any PHI, you must execute a Business Associate Agreement (BAA) with your cloud provider. Both AWS and Azure offer BAAs, but only for a defined list of "HIPAA-eligible" services. Using a non-eligible service for PHI is an instant compliance failure regardless of how well you've configured it.
Actionable takeaway: Sign your cloud BAA and confirm every PHI-touching service is on the eligible list before writing a line of production code. This is the single most overlooked HIPAA step.
Scaling and Operational Considerations
Compliance that works for a single account rarely survives contact with a growing organization. As you add teams, accounts, and workloads, drift and inconsistency become the primary threat.
Multi-account and landing zones
Use AWS Control Tower or Azure Landing Zones to enforce guardrails consistently across every new account or subscription. This prevents the common pattern where a well-secured production account sits next to a wide-open developer sandbox that becomes the breach entry point.
Continuous vs. point-in-time
SOC 2 Type II specifically evaluates whether controls operated effectively over a period — typically 3 to 12 months. This is why automated, continuous evidence collection through Drata or AWS Audit Manager matters so much: manual quarterly checks leave gaps that a Type II auditor will surface.
Data subject rights at scale
GDPR grants individuals the right to access and erasure. At scale, you need a documented, tested process to locate and delete an individual's data across all systems within the 30-day window. This is an operational capability, not just a configuration — and it's where many teams discover their data sprawl problem.
This is often the point where organizations engage outside help. Our Halkwinds Cloud team frequently implements landing zones with compliance guardrails baked in from the start, so scaling doesn't reintroduce risk with every new workload.
Actionable takeaway: Standardize account provisioning through Control Tower or Azure Landing Zones now, while you have few accounts. Retrofitting governance across dozens of accounts later is painful and error-prone.
Common Mistakes / What to Avoid
- Treating compliance as a pre-audit sprint. Controls that only exist for two weeks a year fail Type II audits and leave you exposed the rest of the time. Automate continuously.
- Over-permissioned IAM. Wildcard permissions and long-lived access keys are the most common findings. Rotate credentials, prefer roles over keys, and review access quarterly.
- Ignoring the shared responsibility line. Assuming AWS
Explore Further