Advanced Cloud

Shared Responsibility Model — what belongs to the cloud provider vs the customer

The shared responsibility model defines who protects what in cloud environments. It is the starting point of any cloud security strategy. Providers like AWS, GCP, and Azure document this clearly, yet in practice the boundary still confuses entire teams.

The basic split

PROVIDER responsibility (security OF the cloud):
  - Physical hardware in data centers
  - Global network, routers, switches
  - Hypervisors and VM isolation
  - Base software for managed services (RDS, S3, Lambda)
  - OS patches for fully-managed services

CUSTOMER responsibility (security IN the cloud):
  - Service configuration (IAM, security groups, buckets)
  - Data at rest and in transit
  - OS of VMs/EC2 instances (patching, hardening)
  - Applications and workload code
  - Credential and key management
  - Monitoring, logging, and incident response

It shifts with the service model

The customer’s share of responsibility changes depending on the contract model:

On-Premises: customer controls everything (hardware → app)

IaaS (EC2, GCE, Azure VM):
  Provider → hardware, hypervisor, physical network
  Customer → OS, runtime, middleware, app, data, virtual network config

PaaS (Elastic Beanstalk, Cloud Run, App Service):
  Provider → OS, runtime, platform
  Customer → app, data, platform-level configuration

SaaS (Google Workspace, Salesforce, Office 365):
  Provider → almost all infrastructure
  Customer → data, user permissions, app security configuration

Common misunderstandings

“The provider guarantees availability, so I don’t need backups.” Service availability is not data protection. If you delete an S3 bucket, the data is gone. The provider does not restore what the customer deleted — whether by accident or ransomware.

“The service is managed, so it’s secure.” A managed RDS protects the database OS. It does not protect your schema, your database permissions, or your queries against SQL injection.

“The cloud’s internal network is trusted.” Lateral movement between resources in the same account is possible when security groups and IAM are misconfigured. Zero trust applies inside the cloud too.

Quick mapping — AWS as example

S3:
  AWS  → durability, disk encryption, availability
  You  → ACLs, bucket policy, block public access, versioning

EC2:
  AWS  → hardware, hypervisor, physical network
  You  → OS patches, firewall (security groups), SSM agent, antivirus

Lambda:
  AWS  → OS, runtime, scaling
  You  → code, execution role permissions, environment variables

RDS:
  AWS  → OS, engine patches, automated backups
  You  → passwords, database permissions, VPC/subnet group, public access toggle

IAM:
  AWS  → the IAM service itself
  You  → users, roles, policies, MFA — all yours

Best practices

  • Read your provider’s Shared Responsibility Model. It is official documentation that binds what they guarantee.
  • Document internally which controls belong to the platform team versus the application team.
  • In audits, “who is responsible for X” must have a clear, written answer.
  • Use frameworks such as CIS Benchmarks and NIST CSF to map the controls that are your responsibility.