Blog
The Shared Responsibility Model
The Shared Responsibility Model is the foundational security principle of cloud computing, yet it remains the most misunderstood. When breaches occur—Capital One, Uber, Accenture—the root cause is rarely cloud provider failure. Instead, organizations misconfigure resources, apply overly permissive access policies, or neglect their security responsibilities entirely. This article provides a comprehensive examination of where provider responsibility ends and customer responsibility begins across AWS, Azure, and Google Cloud Platform. We explore the model across IaaS, PaaS, and SaaS services, analyze real-world breaches caused by misunderstanding boundaries, and provide actionable frameworks for operationalizing shared responsibility in cloud architectures. Whether you’re migrating to cloud or optimizing existing deployments, understanding this model is not optional—it’s fundamental to cloud security.
Introduction: The $100 Million Misunderstanding
In July 2019, Capital One disclosed a massive data breach affecting 106 million customers. The attacker exploited a misconfigured Web Application Firewall (WAF) to gain access to AWS S3 buckets containing sensitive customer data. Capital One blamed Amazon Web Services. AWS responded that the breach resulted from Capital One’s misconfiguration, not AWS infrastructure failure.
Who was responsible? According to the Shared Responsibility Model—Capital One. AWS secured the infrastructure (hypervisor, physical data centers, network). Capital One was responsible for configuring their applications, managing IAM permissions, and protecting their data. They failed at all three.
The breach cost Capital One $190 million in settlements and reputational damage. The root cause? Fundamental misunderstanding of where AWS’s responsibility ended and Capital One’s began.
“Security OF the cloud is Amazon’s responsibility. Security IN the cloud is yours.” – AWS Shared Responsibility Model
This distinction—OF vs IN—is deceptively simple yet profoundly consequential. This article clarifies exactly where the boundary lies and how to secure your side of the line.
The Core Concept: Dividing Security Responsibilities
The Fundamental Division
The Shared Responsibility Model divides security into two domains:
Security OF the Cloud (Provider’s Responsibility):
- Physical infrastructure: Data centers, servers, networking equipment
- Virtualization layer: Hypervisors, compute/storage/network virtualization
- Hardware lifecycle: Procurement, maintenance, decommissioning
- Environmental controls: Power, cooling, fire suppression
- Physical security: Perimeter, access control, surveillance
- Network infrastructure: Routers, switches, load balancers, DDoS protection
Security IN the Cloud (Customer’s Responsibility):
- Data: Classification, encryption, access control, retention
- Identity and Access Management (IAM): User accounts, roles, policies, MFA
- Applications: Code security, vulnerability management, patching
- Operating systems: Hardening, patching, configuration
- Network configuration: Security groups, firewalls, VPCs, subnets
- Monitoring and logging: SIEM, alerting, incident response
⚠️ Critical Insight: The cloud provider NEVER accesses your data or manages your IAM policies. They provide tools—you’re responsible for using them correctly.
Why the Model Exists
The Shared Responsibility Model emerged from fundamental cloud economics and technical architecture:
- Multi-Tenancy: Cloud providers operate massive shared infrastructure. They can’t manage individual customer applications at scale.
- Specialization: Providers excel at infrastructure security (physical, network, hypervisor). Customers know their own applications, data sensitivity, and compliance requirements.
- Control and Flexibility: Customers need freedom to configure resources for their specific use cases. With control comes responsibility.
- Legal and Regulatory: Data ownership remains with the customer. Providers cannot dictate how customers handle regulated data (HIPAA, GDPR, PCI DSS).
AWS Shared Responsibility Model
AWS’s Core Principle
Amazon Web Services articulates the model with crystalline clarity: AWS is responsible for security OF the cloud. Customers are responsible for security IN the cloud.
IaaS: Amazon EC2 (Infrastructure as a Service)
AWS Responsibilities:
- Physical servers and hypervisor (Nitro System)
- Network infrastructure and isolation between tenants
- Storage infrastructure (EBS backend)
- Foundational DDoS protection (AWS Shield Standard)
Customer Responsibilities:
- Operating system: Patching, hardening, antivirus
- Applications and middleware: Installation, configuration, security
- Security groups and NACLs: Firewall rules
- IAM: EC2 instance roles, user permissions
- Data encryption: EBS volume encryption, encryption in transit
- Backup and disaster recovery: Snapshots, AMIs, recovery testing
PaaS: Amazon RDS (Platform as a Service)
When AWS manages more infrastructure (OS, database engine), customer responsibility decreases—but doesn’t disappear.
AWS Responsibilities:
- Infrastructure, hypervisor, networking
- Operating system patching and updates
- Database engine patching (PostgreSQL, MySQL, etc.)
- Automated backups (if enabled)
Customer Responsibilities:
- Database configuration: Parameters, encryption at rest
- Access control: Database users, roles, permissions
- Network security: VPC placement, security groups
- Data: Schema design, data classification, encryption in transit
- Backup retention policies and restore testing
SaaS: Amazon WorkSpaces (Software as a Service)
At the SaaS level, AWS manages nearly everything. Customer responsibility is minimal but critical.
AWS Responsibilities:
- Entire infrastructure stack
- Operating system, applications, patching
- Network security
Customer Responsibilities:
- User identity and access (who can log in)
- Data created and stored in WorkSpaces
- MFA enforcement
- Client-side endpoint security (devices connecting to WorkSpaces)
Azure Shared Responsibility Model
Microsoft’s Articulation
Microsoft Azure presents the model through a spectrum visualization, showing how responsibility shifts from customer to provider as you move from on-premise to IaaS to PaaS to SaaS.
| Security Layer | On-Prem | IaaS | PaaS | SaaS |
| Data & Content | Customer | Customer | Customer | Customer |
| Identities & Access | Customer | Customer | Customer | Customer |
| Applications | Customer | Customer | Shared | Microsoft |
| Operating System | Customer | Customer | Microsoft | Microsoft |
| Infrastructure | Customer | Microsoft | Microsoft | Microsoft |
| Physical Security | Customer | Microsoft | Microsoft | Microsoft |
🔍 Key Observation: Data, Identities, and Access are ALWAYS customer responsibility, regardless of service model.
Azure-Specific Considerations
- Azure Active Directory: Microsoft provides the AAD service, but customer configures users, groups, conditional access policies, and MFA enforcement.
- Azure Security Center: Microsoft provides recommendations, but customer must implement them. Recommendations without action = zero security improvement.
- Encryption: Azure Storage Service Encryption (SSE) is enabled by default, but customer controls key management (Microsoft-managed vs customer-managed keys).
Google Cloud Platform Shared Responsibility Model
Google’s Approach
Google Cloud Platform articulates the model similarly to AWS and Azure but emphasizes their infrastructure security heritage (Google protects Gmail, YouTube, Search—billions of users).
GCP-Specific Security Features
- Encryption by Default: All data at rest is encrypted automatically. Customer controls key management via Cloud KMS (Google-managed, customer-managed, or external key management).
- VPC Service Controls: Google-unique feature creating security perimeters around resources. Customer configures the perimeter; GCP enforces it.
- Binary Authorization: Enforce deployment of only verified container images. Customer defines policies; GKE enforces them.
- Security Command Center: Centralized security and risk management. Google provides findings; customer must remediate.
GCP Service Examples
Compute Engine (IaaS): Customer manages OS, applications, security patching. Google manages infrastructure.
Cloud SQL (PaaS): Google manages database engine, patching, backups. Customer manages database configuration, users, and data.
Google Workspace (SaaS): Google manages entire application. Customer manages user access, data, and DLP policies.
Real-World Breaches: When Customers Fail Their Responsibilities
Most cloud breaches result from customer misconfigurations, not provider failures. Let’s examine notable cases.
Capital One (2019): $190 Million Lesson
Breach Details: Attacker exploited misconfigured WAF to access AWS metadata service, obtain IAM credentials, and exfiltrate 106 million customer records from S3 buckets.
Shared Responsibility Failure: Capital One misconfigured AWS WAF. They granted excessive IAM permissions to EC2 instances. S3 buckets lacked proper access controls. All customer responsibilities.
Outcome: $80 million settlement with OCC. $190 million total costs. Former engineer Paige Thompson convicted.
📌 Lesson: AWS provided secure infrastructure. Capital One failed to configure it securely. Shared Responsibility means you’re accountable for your configurations.
Accenture (2017): Public S3 Bucket Exposure
Breach Details: Four AWS S3 buckets containing confidential client data, passwords, and decryption keys left publicly accessible.
Shared Responsibility Failure: Accenture configured bucket permissions to allow public read access. AWS provided tools to prevent this (bucket policies, S3 Block Public Access). Accenture didn’t use them.
Outcome: Massive reputational damage. Clients questioned Accenture’s security practices.
Uber (2016): GitHub Credentials in Code
Breach Details: Attackers found AWS credentials hardcoded in GitHub repository. Used credentials to access S3 buckets containing 57 million rider and driver records.
Shared Responsibility Failure: Uber committed credentials to GitHub (customer failure). Failed to rotate credentials (customer failure). Granted excessive S3 permissions (customer failure).
Outcome: $148 million settlement. CEO Travis Kalanick ousted. Uber paid $100,000 ransom to attackers (then concealed the breach for a year).
📌 Common Thread: In every case, the cloud provider’s infrastructure was secure. Customer misconfigurations—IAM permissions, public bucket access, credential management—caused breaches.
Operationalizing Shared Responsibility
Understanding the model intellectually is insufficient. You must operationalize it—embed responsibility boundaries into processes, tooling, and culture.
1. Create a Responsibility Matrix
Document exactly what your organization is responsible for, service by service.
Example for AWS RDS:
- AWS: Infrastructure, OS patching, database engine updates, hardware maintenance
- Customer: Database configuration, user management, encryption enablement, VPC configuration, security group rules, backup retention, restore testing, data schema design
Create this matrix for every service used. Review quarterly. Update when adopting new services.
2. Automate Security Baseline Enforcement
Use Infrastructure as Code (IaC) and policy-as-code to enforce secure configurations automatically.
- AWS: Service Control Policies (SCPs), AWS Config Rules, CloudFormation Guard
- Azure: Azure Policy, Blueprints, Defender for Cloud recommendations
- GCP: Organization Policy Service, Forseti Security, Security Command Center
Example: Enforce that all S3 buckets must have encryption enabled, versioning enabled, and public access blocked. If a developer tries to create a non-compliant bucket, deployment fails automatically.
3. Continuous Compliance Monitoring
Configuration drift happens. Monitor continuously and remediate automatically where possible.
- AWS: CloudTrail, Config, GuardDuty, SecurityHub
- Azure: Monitor, Log Analytics, Defender for Cloud, Sentinel
- GCP: Cloud Logging, Cloud Monitoring, Security Command Center, Chronicle
4. Least Privilege IAM
IAM is YOUR responsibility across all cloud providers. Most breaches involve excessive permissions.
- Start with zero access. Grant minimum permissions needed
- Use managed policies/roles where available
- Regular access reviews: Remove unused permissions
- Never hardcode credentials. Use instance roles, managed identities, workload identity
- Enforce MFA for human users, especially privileged accounts
5. Security Training and Culture
Developers, DevOps engineers, and cloud architects must understand the Shared Responsibility Model.
- Include SRM in onboarding for cloud teams
- Service-specific training when adopting new cloud services
- Security champions program: Embed security expertise in engineering teams
- Blameless post-mortems: Learn from misconfigurations without punishment
Key Takeaways
- Provider Secures Infrastructure, You Secure Configuration: Cloud providers protect the foundation. You’re responsible for building securely on top.
- Data and IAM Are Always Your Responsibility: Regardless of service model (IaaS/PaaS/SaaS), data classification, encryption, and access control are customer-owned.
- Service Model Determines Boundary: More managed service (PaaS, SaaS) = provider does more. But your core responsibilities remain.
- Most Breaches Are Customer Misconfigurations: Capital One, Accenture, Uber—all customer failures, not provider failures.
- Operationalize the Model: Create responsibility matrices, automate compliance, monitor continuously, enforce least privilege.
- Understand Service-Specific Nuances: Read each service’s shared responsibility documentation. Generic understanding isn’t sufficient.
- Security Is Not Outsourced to the Cloud: Moving to cloud doesn’t mean security is handled. It means security responsibility is clarified.
Conclusion: Clarity Prevents Catastrophe
The Shared Responsibility Model exists because cloud computing fundamentally changes who controls what. When you owned your data center, responsibility was simple: everything was yours. In the cloud, infrastructure is shared, responsibility is divided, and clarity is essential.
Misunderstanding this model has cost organizations hundreds of millions of dollars and immeasurable reputational damage. The breaches aren’t sophisticated attacks on cloud providers—they’re basic configuration errors, excessive permissions, and failure to use available security tools.
“The cloud is not insecure—but insecure configurations in the cloud create massive vulnerabilities.”
AWS, Azure, and GCP provide world-class infrastructure security. They invest billions in physical security, network architecture, and foundational controls. But they cannot—and should not—manage your data, configure your IAM policies, or design your application security. That’s your job.
Understand the boundary. Document responsibilities. Automate compliance. Monitor continuously. Train your teams. The Shared Responsibility Model isn’t a limitation—it’s a contract that, when honored, enables secure, scalable, resilient cloud operations.
Secure the cloud by securing what’s yours. Everything else is already protected.
References and Resources
- AWS Shared Responsibility Model Documentation
- Microsoft Azure Shared Responsibility in the Cloud
- Google Cloud Platform: Shared Responsibilities and Shared Fate
- Cloud Security Alliance: Cloud Controls Matrix
- NIST SP 800-144: Guidelines on Security and Privacy in Public Cloud Computing
- Capital One Data Breach Settlement (OCC Consent Order)