My recommendation: choose the cloud that passes your PHI control and recovery tests - not the one with the best compliance dashboard. AWS, Azure, and GCP each offer policy controls, but a BAA alone does not make your deployment HIPAA compliant.
I compare all three across 6 policy domains: identity and access, audit logging, encryption and keys, data residency, policy tools, and third-party vendor risk management. I also check service coverage, licensing, staff workload, and proof that each control works.
Quick Comparison
| Policy domain | AWS | Azure | GCP |
|---|---|---|---|
| Identity and access | IAM roles, federation, SCPs | Entra ID, Azure RBAC, PIM | IAM, federation, service accounts |
| Audit logging | CloudTrail, CloudWatch | Activity Log, resource logs, Azure Monitor | Cloud Audit Logs, Cloud Logging |
| Encryption and keys | KMS, CloudHSM | Key Vault, Managed HSM | Cloud KMS, Cloud HSM, Cloud EKM |
| Data residency | Region restrictions through SCPs | Azure Policy location restrictions | Resource-location organization policies |
| Policy tools | Control Tower, AWS Config, Security Hub | Azure Policy, Defender for Cloud | Organization Policy, Security Command Center |
| Vendor risk | AWS BAA and eligible services | Microsoft BAA and covered services | Google BAA and covered products |
My final check is a synthetic-data pilot: test access restrictions, log delivery, key recovery, region limits, exception expiration, and backup restoration. <u>Keep PHI out until every mandatory test passes.</u> This is critical given the rising security threats in healthcare vendor relationships.
AWS vs Azure vs GCP: Healthcare Cloud Validation
AWS Security Policy Enforcement
AWS Identity and Audit Logging
Use centralized federation, short-lived role sessions, and MFA. Keep production, development, security, logging, backup, and recovery in separate accounts. Name owners for each workload and its evidence. Service control policies (SCPs) set maximum permissions; they do not grant access[9]. Pair them with least-privilege IAM policies and permission boundaries. Emergency access must require approval, time-limited authorization, monitoring, and a post-use review.
Set up an organization-wide, multi-Region CloudTrail trail for management events. Then explicitly enable the required data events for sensitive resources, including S3 objects, Lambda functions, and selected databases. Use CloudWatch for monitoring and alerts, and AWS Config for drift detection and compliance evidence.
Protect centralized logs from modification and deletion. Set retention rules, test log delivery, and name owners for alerts about disabled logging, privileged access, and key-deletion requests.
| Policy domain | AWS controls | Configuration requirements | Audit evidence |
|---|---|---|---|
| Identity and access | IAM federation, roles, Organizations, SCPs, permission boundaries | Least privilege; account separation | Role policies, SCP exports, access reviews, emergency-access records |
| Logging and monitoring | CloudTrail, CloudWatch, AWS Config, Security Hub | Event coverage; protected retention | Event selectors, sample events, delivery tests, alert tickets |
| Key management | KMS customer-managed keys; CloudHSM | Separate duties; key lifecycle | Key policies, grants, rotation records, recovery tests |
| Data residency and Regions | SCPs, Control Tower Region deny controls | Approved Regions; reviewed exceptions | Region inventory, policy exports, data flows, failover results |
| Policy tooling | Control Tower, AWS Config, Security Hub, Audit Manager | Baselines; drift remediation | Template versions, findings, remediation records, assessment evidence |
| Vendor and shared responsibility | AWS BAA, approved HIPAA-eligible services, AWS compliance reports | Coverage; duties; dependencies | Executed BAA, coverage records, shared-responsibility matrix |
AWS Key Management and Region Controls
Once identity access is restricted, lock down keys and Regions to limit where PHI can be decrypted or restored. Use KMS customer-managed keys when policy requires explicit control over key policies, grants, rotation, disabling, deletion, and usage monitoring. Separate key administration from permission to decrypt clinical data.
Use supported KMS keys with defined rotation, disable, and deletion controls. CloudHSM-backed custom key stores need separate lifecycle procedures[7][8]. Test recovery and application behavior when keys are unavailable - not just encryption settings.
Define approved Regions for primary data, backups, logs, replicas, and recovery resources. Apply SCPs or Control Tower Region deny controls, then review global-service exceptions and service-specific storage behavior[1][2][3]. Single-Region KMS keys remain in their originating Region; multi-Region replicas need a separate residency review[10]. Approve recovery locations based on clinical restoration needs before enforcing restrictions that could block failover.
AWS Policy Tools and Audit Evidence
Use policy tools to show that access, logging, and Region controls remain enforced over time. Focus on drift detection, remediation tracked through tickets, and exceptions with expiration dates.
Use Control Tower for account baselines, AWS Config rules and conformance packs for drift detection, and Security Hub CSPM for findings. Use Audit Manager to collect assessment evidence from AWS Config and Security Hub CSPM[4][5].
Require versioned infrastructure templates, encryption standards, and retained policy exports. Keep logging and restoration test records alongside BAA coverage records, service-specific terms, and the shared-responsibility matrix[6].
sbb-itb-535baee
HIPAA in the Cloud: GCP vs AWS vs Azure - Who Leads in 2026?
Azure Security Policy Enforcement
Treat the Microsoft Entra tenant as the identity boundary, management groups as the governance layer, and subscriptions as administrative and environment boundaries. Keep production, nonproduction, and security operations in separate subscriptions. Use resource groups or workload landing zones to isolate applications, data stores, and clinical services, with explicit access and network controls. Assign shared policies at the management-group scope, and check inheritance after moving subscriptions.[11][14][17] This hierarchy sets where you assign policies, collect logs, and review exceptions.
| Policy domain | Azure controls | Configuration requirements | Audit evidence |
|---|---|---|---|
| Identity and access | Entra ID, Azure RBAC, PIM, Conditional Access, managed identities | Separate management-plane and data-plane access; time-limit privileged activation | Role exports, PIM approvals, access reviews, emergency-access tests |
| Logging and monitoring | Entra logs, Activity Log, Azure Monitor, Defender for Cloud, Sentinel | Configure resource diagnostics separately; document destinations, retention, tiers, and alert owners | Log samples, diagnostic settings, connector status, incident records |
| Key management | Key Vault, customer-managed keys, Managed HSM | Choose an authorization model; separate key administration from key use; test recovery | Permission tests, rotation records, recovery results |
| Data residency | Azure Policy location restrictions, management-group assignments | Review processing, replication, backups, recovery, and support access | Location exports, data flows, replication settings, exceptions |
| Policy tooling | Azure Policy initiatives, resource locks, infrastructure-as-code checks | Distinguish audit, deny, and remediation; authorize remediation tasks | Assignment versions, exemptions, remediation results, lock reports |
| Vendor risk management and shared responsibility | Contract records, covered-service list, responsibility matrix | Confirm coverage for services handling PHI and customer duties; review vendor PHI handling and service-specific terms | Contract records, covered-service list, responsibility matrix |
Azure Identity and Security Monitoring
Use Entra groups, Azure RBAC, PIM, and Conditional Access as separate control layers. PIM should enforce time-limited privileged access, while managed identities should have narrowly scoped workload permissions. Test two emergency-access accounts quarterly. Make sure neither depends on the same Conditional Access policies it is meant to bypass.[15][16][22][23]
Activity Log does not replace resource diagnostics. Configure service logs and Entra sign-in and audit exports separately. Record the actual license and pricing tier assumptions for PIM, Conditional Access, Defender, Sentinel, and Log Analytics. Document log destinations, retention, and named monitoring owners.[20][21]
Azure Key Management and Data Location
Choose between Key Vault’s Azure RBAC and access-policy authorization models, then test both allowed and denied key access. Check customer-managed-key support for each service. Document rotation, recovery, revocation, and what happens when a key is disabled. Use HSM-backed options where required.[18][19][22]
An approved region does not prove data residency. Review processing, replicas, backups, recovery, support access, and subprocessors separately. Azure Monitor customer-managed encryption also has a regional constraint: the Key Vault, dedicated cluster, and linked workspaces must share a region.[14][17][24]
Azure Policy Tools and Audit Evidence
Start initiatives in audit mode before enforcing deny. Audit reports noncompliance; deny blocks noncompliant deployments. DeployIfNotExists and Modify need correct permissions and verified remediation results. Resource locks protect against deletion or updates, but they do not establish compliance.[11][12][13]
Require standard diagnostic settings, owner records, tested Key Vault permissions, access reviews, policy assignments, and exemptions with expiration dates. Keep remediation results and Microsoft BAA and covered-service records alongside them. Each artifact should identify its scope, owner, export date and time, and retention period. Defender for Cloud compliance views help with review, but they do not replace required evidence or customer duties.[12][13][15][16]
Apply the same evidence standard when comparing GCP’s organization, folder, and project controls.
GCP Security Policy Enforcement
Use the Google Cloud organization as the governance boundary, folders to separate environments or compliance requirements, and projects to isolate workloads. If you use the US Data Boundary for Healthcare and Life Sciences, create an Assured Workloads folder and keep all in-scope workloads inside it.[25] Before deployment, verify BAA coverage, supported services, regional availability, and customer duties.[29]
Assign owners for IAM, logging, keys, incident response, and clinical safety. This hierarchy sets where GCP policies apply and where teams must collect evidence.
| Policy domain | GCP controls | Configuration requirements | Audit evidence |
|---|---|---|---|
| Identity and access | IAM, workforce identity federation, IAM Conditions, service accounts | Limit inherited privileges; use workload-specific identities and short-lived credentials | IAM exports, federation settings, service-account reviews |
| Logging and monitoring | Cloud Audit Logs, Cloud Logging, Cloud Monitoring, Security Command Center | Verify Data Access log coverage by service, central routing, retention, and reviewer permissions | Logging matrix, sink settings, access-event samples, alert records |
| Key management | Cloud KMS, CMEK, Cloud HSM, Cloud EKM | Check service and region support; separate key administration from key use; test recovery | Key inventory, IAM bindings, rotation and key-use records |
| Data residency | Resource-location organization policies, Assured Workloads | Check storage, processing, backups, replicas, and service exceptions | Location inventory, effective policies, denied-deployment results |
| Policy tooling | Organization Policy Service, infrastructure-as-code, Security Command Center | Validate inheritance, approved baselines, detector coverage, and remediation ownership | Policy snapshots, reviewed changes, findings, remediation tickets |
| Vendor and shared responsibility | Google BAA, covered-service records, responsibility matrix | Inventory services handling PHI; document customer controls and staffing for operations | Coverage review, service inventory, assigned control owners |
These controls require explicit configuration, not assumptions about defaults.
GCP Identity and Audit Logging
Prefer federated workforce identities and groups over individual grants. Avoid basic roles in production. Use predefined roles, and reserve custom roles for documented gaps. Apply IAM Conditions where supported, and review service-account ownership, impersonation permissions, and user-managed keys. Access controls also need logs that reviewers can inspect.
Enable Data Access logs for each service; don’t assume PHI reads are logged.[27] Route required events through aggregated sinks to a protected logging project. Set retention periods and test Cloud Monitoring alerts. Grant reviewers roles/logging.privateLogViewer, because roles/logging.viewer does not expose Data Access logs.[29] Check coverage using access-event samples and alert records.
GCP Key Management and Residency Controls
Check CMEK support for each service and location before choosing Cloud KMS, Cloud HSM, or Cloud EKM. Separate key administrators from application identities. Document rotation and destruction approvals, and test recovery after key disablement or permission errors. Global KMS keys do not fit strict residency controls.[30]
Resource-location policies have service-specific limits. Review processing commitments, backups, replicas, exports, and exceptions separately.[31] A configured location is not proof of residency. Neither CMEK nor restricted IAM proves US residency.
GCP Policy Tools and Audit Evidence
Apply Organization Policy constraints at the organization or folder level, then check the effective settings in every regulated project. Keep infrastructure-as-code baselines under peer review, and test whether controls block prohibited locations and service-account key creation. Confirm Security Command Center’s activation scope, tier, and detector prerequisites.[26] Check Assured Workloads service support before relying on its findings.[28]
Include proof that controls work, such as a denied deployment or a reviewed access event. Retain service-account inventories, effective policies - including regional constraints - logging decisions, key-access records, findings, remediation records, and BAA documentation. Record each artifact’s scope, owner, and collection time. Repeat tests after changes to services, regions, backups, or staffing.
Compare Policy Controls Across Clouds
Compare what testing proves: blocked, alerted, reviewed, or unsupported. Record service coverage, license requirements, control limits, and staff effort.[32][33]
Use this matrix to see where each cloud enforces policy and where the healthcare team still needs to do the work. It also gives teams a shared basis for control testing and evidence collection.
| Control domain | AWS | Azure | GCP | Healthcare implementation considerations |
|---|---|---|---|---|
| Workforce identity | IAM Identity Center, federation, MFA, roles | Entra ID, Conditional Access, Privileged Identity Management | Cloud Identity, Workforce Identity Federation, IAM | Preventive: test MFA and privileged access across governance scopes; verify the paid identity license tier and effort needed for recurring access reviews. |
| Workload identity | IAM roles, temporary credentials | Managed identities, service-principal controls | Service accounts, Workload Identity Federation | Preventive: test cross-service permissions and credential lifetimes. Service support varies, so assign staff to maintain trust and credential lifecycles. |
| Logging | CloudTrail, centralized storage | Activity Logs, resource logs, Azure Monitor | Cloud Audit Logs, centralized sinks | Detective: compare authentication, administrative, and data-access coverage; account for the cost and staff time needed for log ingestion, retention, and investigations. |
| Drift detection | AWS Config, Security Hub | Azure Policy, Defender findings | Organization Policy, Security Command Center | Preventive and detective: separate deployment denial from findings reported later; confirm service coverage, plan tier, and remediation workload. |
| Key custody | KMS and supported hardware-backed or external options | Key Vault and supported HSM options | Cloud KMS, Cloud HSM, Cloud EKM | Preventive, with detective usage records: verify integration and separation of duties; include key-operation charges and recovery exercises. |
| Residency | Organizations SCPs, account configuration checks | Management-group or subscription location policies | Organization or folder location constraints | Preventive where supported: check backups, replication, and processing separately; track service-specific exceptions. |
| Exception records | Approval workflows, ownership tags, tickets, and expiry tracking | Policy exemptions, ownership metadata, approval workflows, and expiration dates | Policy exceptions, labels or inventory metadata, approvals, and remediation records | Governance and evidence: verify ownership, expiry, and compensating controls; don't assume exceptions expire or renew automatically. |
Feature availability and pricing depend on the service and tier.[36][37][38] Separate setup work - identity integration, policy design, and testing - from recurring tasks such as alert triage, evidence collection, and clinical change coordination.
Map Healthcare Requirements to Cloud Controls
Assign requirements at the highest practical governance level. Identify resource types that aren't supported and document exemptions. Test both prohibited actions and approved clinical workflows.[32][35]
| Policy requirement | AWS enforcement layer | Azure enforcement layer | GCP enforcement layer | Validation test |
|---|---|---|---|---|
| Approved regions | Organizations SCPs; account configuration checks | Management-group or subscription location policies | Organization or folder location constraints | Attempt an unapproved deployment; check existing resources and replicas separately. |
| PHI encryption | KMS policies, resource encryption, service settings | Key Vault, resource encryption, Azure Policy | Cloud KMS, supported CMEK controls, service settings | Verify required key use and transport protection; attempt a prohibited configuration. |
| Approved federation | Identity-provider integration, IAM roles, MFA | Entra federation, Conditional Access, privileged identity controls | Workforce federation, IAM, applicable access controls | Reject an unapproved identity or access without required MFA; confirm approved access succeeds. |
| No public exposure | Resource policies, network controls, configuration rules | Azure Policy, network controls, private endpoints | Organization policies, IAM, firewall rules | Attempt public access to in-scope storage and databases; verify denial and detection. |
| Protected logs | CloudTrail, protected central storage, retention controls | Diagnostic settings, Azure Monitor, protected archives | Audit Logs, aggregated sinks, protected destinations | Generate administrative and data-access events; test event capture and attempts to delete logs without permission. |
| Accountable exceptions | Tickets, approvals, ownership tags, and expiry tracking | Policy exemptions, approvals, expiration metadata | Scoped exceptions, ownership metadata, remediation records | Confirm scope, owner, approval, and expiry; verify that unrelated controls remain enforced. |
Standardize Evidence and Exceptions
Once controls are mapped, define the proof needed to support them. Use one evidence format across clouds: control ID, organizational scope, resource, policy version, expected and observed result, timestamp in U.S. date and time format with time zone, retention period, owner, and exception reference. Set the review schedule based on risk.[34][35]
| Evidence requirement | AWS evidence sources | Azure evidence sources | GCP evidence sources | Review owner and cadence |
|---|---|---|---|---|
| Inheritance and configuration | SCP assignments, AWS Config, IAM exports | Policy assignments, exemptions, configuration exports | Effective organization policies, asset and IAM exports | Cloud governance; after scope or policy changes |
| Workforce and workload access | IAM and Identity Center records | Entra reviews, role and service-principal inventories | IAM, federation, service-account inventories | Identity owner; recurring risk-based reviews |
| Logging and alert handling | CloudTrail samples, alert and ticket records | Activity/resource logs, Defender or Sentinel records | Audit Logs, Security Command Center findings | Security operations; after logging changes and during investigations |
| Key custody and recovery | KMS configuration and usage records | Key Vault configuration and audit records | Cloud KMS configuration and usage records | Key owner; after key changes and recovery exercises |
| Exceptions and remediation | Approval tickets, tags, retest evidence | Exemptions, approvals, remediation records | Exception records, findings, retest evidence | Security and clinical owners; before expiry and after remediation |
Do not use blanket auto-remediation for clinical systems. Disruptions to these systems are among the biggest risks to patient care today. Changes to device network rules, imaging credentials, or clinical interfaces require dependency checks, downtime approval, and rollback evidence.
Block understood risks in new deployments immediately. For existing care-delivery workloads, require clinical review or scheduled maintenance. Each temporary exception must name the affected application or device, patient-care impact, compensating safeguards, approver, expiration, and remediation owner.
Use these same records when reviewing the HIPAA-compliant vendor risk management contracts and covered services below.
Review Cloud Provider and Vendor Risk
After enforcing controls, check that contracts and provider evidence support the same requirements. Keep provider assurance, HDO controls, contract terms, and current monitoring evidence separate. SOC, ISO, and HIPAA mapping reports support due diligence - not proof of a specific deployment. HHS does not offer a HIPAA certification program.[29][33][39]
Check Contracts and Covered Services
Keep the applicable BAA, covered-service list, account or tenant scope, effective contract version, exclusions, and legal approval. Check regional availability separately from contractual data-location commitments. Choosing a region does not control backup, metadata, telemetry, or support-access paths.
Use this table to connect each contract term to a healthcare delivery organization (HDO) control, its owner, and its evidence source across six policy domains: identity, logging, keys, residency, policy tooling, and vendor risk.
| Evidence category and policy domain | AWS | Azure | GCP | HDO verification required |
|---|---|---|---|---|
| BAA and covered services - vendor risk | AWS BAA and HIPAA-eligible services | Microsoft Product Terms BAA and in-scope Azure services | Google Cloud BAA and listed covered products | Match every PHI-processing service to applicable terms and account scope; keep dated approval. |
| Independent assurance - vendor risk | Applicable SOC, ISO, and other assurance reports | Applicable Microsoft assurance reports and mappings | Applicable Google Cloud assurance reports and mappings | Check audit periods, service scope, exceptions, auditor conclusions, and complementary customer controls. |
| Shared responsibility - vendor risk | Infrastructure controls versus customer configuration | Responsibilities vary by service model | Provider infrastructure versus customer-built solution | Assign each safeguard to the provider, HDO, or both; require evidence from each owner. |
| Data processing and location - residency and keys | Applicable processing terms | Applicable processing terms | Applicable processing terms | Check permitted uses, transfers, retention, deletion, key control, and exit assistance. |
| Incident notification - vendor risk | BAA and applicable service terms | BAA, Product Terms, and service terms | BAA and applicable service terms | Compare triggers, deadlines, required details, evidence access, and escalation contacts with HDO obligations. |
| Subcontractors and support - identity and vendor risk | AWS disclosures and relevant support controls | Microsoft disclosures and relevant support controls | Google disclosures and relevant support controls | Record provider support-access purpose, geography, privileged-access safeguards, change notices, and objection rights. |
| Vulnerability management - vendor risk | Provider procedures plus customer workload evidence | Provider procedures plus customer workload evidence | Provider procedures plus customer workload evidence | Set disclosure and remediation duties; assess customer-owned code, images, and dependencies. |
| Disaster recovery - vendor risk | Provider resilience evidence and customer recovery design | Provider resilience evidence and customer recovery design | Provider resilience evidence and customer recovery design | Require tested RTO, RPO, restoration, dependencies, and clinical downtime procedures - not durability claims alone. |
| Continuous monitoring - logging and policy tooling | Current cloud evidence | Current cloud evidence | Current cloud evidence | Check how current the evidence is, unresolved findings, response records, and assigned review ownership. |
Turn contractual promises into measurable obligations, each with an owner, evidence source, and review date. Review notification deadlines, audit cooperation, support-access records, and termination assistance with legal, privacy, and security teams.
Set an HDO requirement for recovery testing at least annually. Reassess after material incidents, contract changes, new processing purposes, or changes to clinical dependencies.
Track Risk Reviews and Remediation With Censinet
Use Censinet RiskOps™ to track questionnaires, findings, owners, due dates, and reassessment history across cloud providers and other vendors.[40]
Update evidence quarterly or based on risk, and reassess vendors and contracts annually. Before sign-off, escalate unresolved high-risk gaps to security, privacy, legal, and clinical-safety owners.
Conclusion: Choose for Policy Enforcement and Clinical Resilience
After comparing controls and evidence, choose the architecture your team can enforce, operate, and recover. Results depend on service selection, configuration, contracts, and day-to-day operations.[41][42]
Use the same six domains to make the final decision. Set mandatory pass/fail gates for identity, regions, key custody, audit evidence, and recovery. Score only the options that pass, giving priority to PHI safeguards and clinical continuity. Then move to pilot validation.
Before deploying PHI, run a nonproduction pilot with synthetic data. Test unauthorized access, log delivery, key recovery, region blocking, exception approval and expiration, backup restoration, and dependent-interface failure. Before testing, define expected results against approved recovery objectives. This is the final check before production.[41][43]
Block PHI deployment until failed mandatory tests are corrected and retested. If the pilot passes, move to production under the same controls, using the platform your team can run reliably, enforce policy on, and use to restore care services.
FAQs
How should we weigh security controls against cloud operating costs?
Move from manual, reactive processes to automated risk management. Censinet RiskOps simplifies vendor risk assessments, cybersecurity benchmarking, and compliance monitoring. It cuts manual work and the time spent collecting evidence, helping teams use their resources more efficiently.
Use tiered storage to control long-term log retention costs for HIPAA compliance. Build automated security workflows into cloud and DevSecOps operations to keep oversight continuous and reduce the risk of costly compliance breaches and downtime.
How can we enforce consistent PHI policies across multiple clouds?
Replace manual, point-in-time reviews with centralized governance and continuous oversight. Use Censinet RiskOps™ to standardize risk assessments, and automate misconfiguration checks against HIPAA and NIST frameworks. Apply consistent identity controls through centralized IAM, multi-factor authentication, and least-privilege access.
Set up Business Associate Agreements that clearly define security, breach notification, and recovery requirements. Keep tamper-proof audit logs, and continuously monitor encryption and data residency policies across cloud regions.
How can we resolve policy gaps without disrupting patient care?
Move from periodic, manual compliance reviews to continuous, automated risk management. Use Censinet RiskOps™ to automate risk assessments and compliance tracking, cutting delays caused by manual work.
Combine security monitoring, zero-trust frameworks, role-based access control, and automated incident response playbooks to spot and address vulnerabilities in real time. Isolating compromised instances and enforcing least-privilege access help protect clinical operations and protected health information while keeping systems up and running.