Skip to main content
Multi-CloudSecurityadvanced

Data Residency & Sovereignty

Guide to data residency and sovereignty across clouds covering GDPR, regional regulations, data boundary enforcement, sovereign cloud offerings, encryption key management, and compliance checklists.

CloudToolStack Team26 min readPublished Mar 14, 2026

Prerequisites

  • Understanding of data protection regulations (GDPR, HIPAA)
  • Familiarity with cloud regions and availability zones
  • Basic knowledge of encryption and key management concepts

Data Residency and Sovereignty Across Clouds

Data residency refers to the geographic location where data is stored and processed. Data sovereignty refers to the laws and regulations that apply to data based on the country or region where it resides. As governments worldwide enact stricter data protection laws (GDPR in Europe, LGPD in Brazil, PIPL in China, POPI Act in South Africa, Australia's Privacy Act), organizations must carefully plan where their data lives and how it moves across borders.

Cloud providers offer regions, zones, and data boundary controls to help you comply with data residency requirements. However, the implementation and granularity of these controls differ significantly across AWS, Azure, GCP, and OCI. Some providers offer sovereign cloud offerings specifically designed for government and regulated industries. Others rely on configuration-based controls that the customer must implement and monitor.

This guide covers the regulatory landscape, how each cloud provider addresses data residency, region and zone architectures, data boundary enforcement mechanisms, sovereign cloud offerings, and practical configuration examples for implementing data residency controls in multi-cloud environments.

Not Legal Advice

This guide provides technical information about cloud data residency capabilities. It is not legal advice. Data residency requirements vary by jurisdiction, industry, and data classification. Consult with your legal team and compliance officers to determine the specific requirements that apply to your organization before implementing data residency controls.

Key Regulations by Region

RegulationRegionKey RequirementsPenalties
GDPREU/EEAData processing rules, cross-border transfer restrictions, right to erasureUp to 4% of global annual revenue
Schrems II / EU-US DPFEU → USAdequate safeguards for EU data transferred to USTransfer suspension
PIPLChinaData localization for personal info, security assessments for cross-border transferUp to 5% of annual revenue
LGPDBrazilSimilar to GDPR, data processing consent, cross-border rulesUp to 2% of revenue in Brazil
DPDPAIndiaData processing consent, government can restrict cross-border transfersUp to INR 250 crore (~$30M)
POPI ActSouth AfricaAdequate protection required for cross-border transfersUp to ZAR 10M (~$550K) or imprisonment
APPs / Privacy ActAustraliaReasonable steps to protect data sent offshoreUp to AUD 50M (~$33M)
HIPAAUS (Healthcare)PHI protection, BAA required with cloud providersUp to $1.9M per violation category/year
FedRAMPUS (Government)Standardized security assessment for cloud servicesLoss of government contracts

Cloud Region Availability

The number and distribution of cloud regions determines where you can physically store and process data. More regions give you more flexibility in meeting data residency requirements. All four providers continue to expand their region footprint.

RegionAWSAzureGCPOCI
Total Regions34+60+40+49+
North America812+86
Europe815+910+
Asia Pacific1015+1012+
Middle East / Africa36+37+
South America1212
Government CloudGovCloud (2 regions)Azure Government (8), Azure China (2)Assured WorkloadsGovernment Cloud (multiple)
Sovereign CloudAWS Dedicated Local ZonesAzure Sovereign (EU, Germany, China)Sovereign ControlsEU Sovereign Cloud, OCI Dedicated Region

Azure Has the Most Regions

Azure has the largest number of cloud regions globally (60+), which gives it the broadest geographic coverage for data residency requirements. OCI is second with 49+ regions and has been expanding aggressively, particularly in underserved markets. AWS and GCP have fewer regions but each region typically has more availability zones, providing stronger intra-region redundancy. For niche geographic requirements (e.g., specific countries in Africa or the Middle East), check each provider's region map carefully.

Data Boundary Enforcement

Each cloud provider offers mechanisms to restrict where resources can be created and where data can be stored. These controls range from IAM-level restrictions to organization-wide policies.

AWS Data Boundary Controls

bash
# SCP: Restrict EC2 and RDS to EU regions only
aws organizations create-policy \
  --name "EUDataResidency" \
  --type SERVICE_CONTROL_POLICY \
  --content '{
    "Version": "2012-10-17",
    "Statement": [{
      "Sid": "RestrictToEURegions",
      "Effect": "Deny",
      "Action": [
        "ec2:RunInstances",
        "rds:CreateDBInstance",
        "s3:CreateBucket",
        "lambda:CreateFunction"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": [
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-central-2",
            "eu-north-1",
            "eu-south-1",
            "eu-south-2"
          ]
        }
      }
    }]
  }'

# S3 Object Lock for compliance retention
aws s3api put-object-lock-configuration \
  --bucket my-gdpr-bucket \
  --object-lock-configuration '{
    "ObjectLockEnabled": "Enabled",
    "Rule": {
      "DefaultRetention": {
        "Mode": "COMPLIANCE",
        "Years": 7
      }
    }
  }'

# Restrict S3 replication to same region only
# (Prevent cross-region replication to non-EU regions)

Azure Data Boundary Controls

bash
# Azure Policy: Restrict resource locations to EU only
az policy assignment create \
  --name "restrict-to-eu" \
  --display-name "Restrict Resources to EU Regions" \
  --scope "/providers/Microsoft.Management/managementGroups/EU-Workloads" \
  --policy "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c" \
  --params '{
    "listOfAllowedLocations": {
      "value": [
        "westeurope",
        "northeurope",
        "germanywestcentral",
        "francecentral",
        "swedencentral",
        "switzerlandnorth",
        "norwayeast"
      ]
    }
  }'

# Azure Policy: Deny storage replication to non-EU
az policy definition create \
  --name "deny-non-eu-replication" \
  --display-name "Deny Storage Replication Outside EU" \
  --mode Indexed \
  --rules '{
    "if": {
      "allOf": [
        {"field": "type", "equals": "Microsoft.Storage/storageAccounts"},
        {"field": "Microsoft.Storage/storageAccounts/sku.name", "in": ["Standard_GRS", "Standard_RAGRS"]}
      ]
    },
    "then": {"effect": "deny"}
  }'

GCP Data Boundary Controls

bash
# Organization Policy: Restrict resource locations
gcloud org-policies set-policy --organization=ORG_ID - << 'EOF'
constraint: constraints/gcp.resourceLocations
listPolicy:
  allowedValues:
    - in:eu-locations
EOF

# This restricts ALL resources in the organization to EU regions only

# Assured Workloads: Create a sovereign workload environment
gcloud assured workloads create \
  --organization=ORG_ID \
  --location=europe \
  --display-name="EU Sovereign Workload" \
  --compliance-regime=EU_REGIONS_AND_SUPPORT \
  --billing-account=BILLING_ACCOUNT_ID

# Assured Workloads enforces:
# - Resources only in EU regions
# - Support only from EU-based personnel
# - Customer-managed encryption keys stored in EU
# - Data Access Transparency logging

# VPC Service Controls (restrict API access to prevent data exfiltration)
gcloud access-context-manager perimeters create eu-data-perimeter \
  --title="EU Data Perimeter" \
  --resources="projects/eu-project-1,projects/eu-project-2" \
  --restricted-services="storage.googleapis.com,bigquery.googleapis.com" \
  --access-levels="accessPolicies/POLICY_ID/accessLevels/eu-only"

# The perimeter prevents data from being accessed outside the boundary
# even by authorized users, unless explicitly allowed

OCI Data Boundary Controls

bash
# OCI: Subscribe to specific regions only
oci iam region-subscription create \
  --region-key FRA \
  --tenancy-id TENANCY_OCID

# OCI Dedicated Region: Full cloud in your data center
# Oracle deploys a complete OCI region on-premises
# Fully air-gapped from public cloud if needed
# Same APIs, services, and pricing as public OCI

# OCI EU Sovereign Cloud
# Separate from public OCI, operated by EU entity
# Data never leaves EU, operated by EU-resident staff
# Same services as public OCI
# Available in Frankfurt and Madrid

# Create a policy restricting data to specific compartments
oci iam policy create \
  --compartment-id TENANCY_OCID \
  --name "eu-data-policy" \
  --statements '[
    "Allow group EU-DataTeam to manage object-family in compartment EU-Data where request.region = eu-frankfurt-1",
    "Deny group EU-DataTeam to manage object-family in compartment EU-Data where request.region != eu-frankfurt-1"
  ]'

Sovereign Cloud Offerings

Sovereign clouds are isolated cloud environments designed to meet strict data residency and sovereignty requirements. They are typically operated by local entities, staffed by local personnel, and physically isolated from the provider's global cloud infrastructure.

OfferingProviderKey FeaturesTarget Market
AWS Dedicated Local ZonesAWSIsolated infrastructure, customer-owned facilityGovernment, defense
Azure Sovereign (EU)AzureEU-operated, data boundary enforcedEU public sector, regulated industries
Azure GovernmentAzureFedRAMP High, IL5, physically isolatedUS government
GCP Assured WorkloadsGCPCompliance controls on public cloudRegulated industries
GCP Sovereign ControlsGCPPartner-operated, key management by local entityEU, APAC sovereign requirements
OCI Dedicated RegionOCIFull OCI region in customer data centerGovernment, defense, finance
OCI EU Sovereign CloudOCIEU-incorporated entity, EU-resident staffEU public sector

OCI Dedicated Regions

OCI Dedicated Regions are unique in the industry: Oracle installs a complete cloud region inside your own data center, giving you the full OCI service portfolio with complete physical control over the infrastructure. This is the most comprehensive sovereign cloud offering available, as you control the physical facility, network connectivity, and access controls. Pricing is subscription-based starting at $500K/year with a minimum 4-year commitment.

Encryption and Key Management

Data residency is not just about where data is stored but also where encryption keys are managed. If encryption keys are stored in a different jurisdiction than the data, the entity controlling the keys effectively controls the data. Each provider offers key management services that can be restricted to specific regions.

FeatureAWS KMSAzure Key VaultGCP Cloud KMSOCI Vault
Regional KeysYes (keys are regional)Yes (vault is regional)Yes (key ring is regional)Yes (vault is regional)
HSM BackingCloudHSM (FIPS 140-2 L3)Managed HSM (FIPS 140-2 L3)Cloud HSM (FIPS 140-2 L3)Virtual Private Vault (FIPS 140-2 L3)
External Key ManagerExternal Key Store (XKS)Managed HSM with BYOKExternal Key Manager (EKM)BYOK support
Key Access JustificationsNoNoYes (Key Access Justifications)No
bash
# AWS: Create a regional KMS key
aws kms create-key \
  --description "EU data encryption key" \
  --region eu-central-1 \
  --key-usage ENCRYPT_DECRYPT \
  --origin AWS_KMS

# GCP: Create a regional key ring with Cloud HSM
gcloud kms keyrings create eu-keys \
  --location=europe-west1

gcloud kms keys create data-key \
  --keyring=eu-keys \
  --location=europe-west1 \
  --purpose=encryption \
  --protection-level=hsm

# GCP: Enable Key Access Justifications
# (Requires Assured Workloads + KAJ enabled)
# Provides audit trail of every Google access to your keys
# You can configure auto-deny for specific justification codes

# Azure: Create a Key Vault in EU region
az keyvault create \
  --name my-eu-vault \
  --resource-group eu-rg \
  --location germanywestcentral \
  --sku premium  # HSM-backed

# OCI: Create a Vault in EU region
oci kms management vault create \
  --compartment-id COMPARTMENT_OCID \
  --display-name "eu-vault" \
  --vault-type DEFAULT

Cross-Border Data Transfer Mechanisms

When data must be transferred across borders (for backup, analytics, or serving global users), organizations need legal mechanisms to justify the transfer. The appropriate mechanism depends on the source jurisdiction and destination.

GDPR Cross-Border Transfer Mechanisms

MechanismDescriptionCloud Provider Support
EU-US Data Privacy FrameworkSelf-certification by US companiesAll 4 providers certified
Standard Contractual ClausesEU-approved contract templatesAll 4 providers offer SCCs
Binding Corporate RulesIntra-group transfer approvalCustomer responsibility
Adequacy DecisionsEU recognizes country as adequateUK, Japan, South Korea, Canada, etc.
Explicit ConsentIndividual agrees to transferCustomer responsibility

Practical Data Residency Checklist

StepActionTools
1. Classify DataIdentify what data has residency requirementsMacie (AWS), Purview (Azure), DLP API (GCP)
2. Choose RegionsMap data types to allowed regionsProvider region maps
3. Enforce BoundariesPrevent resource creation outside allowed regionsSCPs, Azure Policy, Org Policy
4. Encrypt with Regional KeysUse CMEK with keys in the same region as dataKMS, Key Vault, Cloud KMS, Vault
5. Control ReplicationEnsure backups and replicas stay in allowed regionsReplication policies, lifecycle rules
6. Audit AccessLog and monitor all data accessCloudTrail, Activity Log, Audit Log
7. Document TransfersMaintain records of cross-border data flowsLegal / compliance documentation
8. Test ControlsVerify boundaries work with penetration testingProwler, ScoutSuite, custom scripts
bash
# Verify no resources exist outside allowed regions

# AWS: Check for resources in non-EU regions
for region in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text); do
  if [[ ! "${region}" =~ ^eu- ]]; then
    count=$(aws ec2 describe-instances --region "${region}" \
      --query 'length(Reservations[].Instances[])' --output text 2>/dev/null)
    if [ "${count}" -gt 0 ]; then
      echo "WARNING: ${count} instances found in ${region}"
    fi
  fi
done

# GCP: Check for resources outside EU
gcloud asset search-all-resources \
  --scope=organizations/ORG_ID \
  --query="NOT location:europe*" \
  --format="table(name,assetType,location)"

# Azure: Find resources outside EU
az resource list \
  --query "[?!starts_with(location, 'europe') && !starts_with(location, 'germany') && !starts_with(location, 'france') && !starts_with(location, 'sweden') && !starts_with(location, 'switzerland') && !starts_with(location, 'norway')].{Name:name,Type:type,Location:location}" \
  --output table

Metadata and Control Plane Data

Even when you restrict data storage to specific regions, be aware that metadata (resource names, configuration, audit logs) may be stored in the provider's control plane which could be in a different region. GCP's Assured Workloads addresses this with data residence for control plane metadata. Azure's EU Data Boundary commits to processing EU customer data within the EU. Verify each provider's commitments for metadata residency if your compliance requirements extend beyond primary data storage.

Security Posture ManagementMulti-Cloud Landing ZonesIAM Across Clouds

Key Takeaways

  1. 1Azure has the most cloud regions (60+) for broadest geographic coverage; OCI is second with 49+ and expanding rapidly.
  2. 2All providers offer region-restriction policies (SCPs, Azure Policy, Org Policies) to enforce data residency.
  3. 3GCP Assured Workloads provides the most comprehensive data boundary controls including metadata residency and support location restrictions.
  4. 4OCI Dedicated Regions install a complete cloud region in your data center for maximum sovereignty control.
  5. 5Encryption key location matters: keys in a different jurisdiction from data can undermine residency controls.
  6. 6EU-US Data Privacy Framework and Standard Contractual Clauses are the primary mechanisms for GDPR-compliant cross-border transfers.

Frequently Asked Questions

How do I ensure my data stays in the EU?
Use region-restriction policies (AWS SCPs, Azure Policy, GCP Org Policies) to prevent resource creation outside EU regions. Encrypt data with customer-managed keys stored in EU-region key management services. Disable cross-region replication or restrict it to EU regions only. Audit regularly with resource scanning to verify compliance.
What is a sovereign cloud?
A sovereign cloud is an isolated cloud environment designed to meet strict data residency and sovereignty requirements. It is typically operated by a local legal entity, staffed by local residents, and physically isolated from the provider's global infrastructure. Examples include Azure Sovereign EU, OCI EU Sovereign Cloud, and GCP Sovereign Controls.
Do cloud providers access my data?
Cloud providers may access customer data for operational purposes (troubleshooting, maintenance) unless you opt out. GCP Key Access Justifications provides an audit trail and veto capability for every access. Azure and AWS provide contractual commitments. For maximum control, use customer-managed encryption keys with external key management so the provider cannot decrypt data.

Written by CloudToolStack Team

Cloud engineers and architects with hands-on experience across AWS, Azure, and GCP. We write guides based on real-world production patterns, not just documentation rewrites.

Disclaimer: This guide is for educational purposes. Cloud services change frequently; always refer to official documentation for the latest information. AWS, Azure, and GCP are trademarks of their respective owners.