AWS for DevOps — Shared Responsibility Model

2 minute read

Shared Responsibility Model

One of the most important concepts in AWS — and a favourite topic on certification exams — is the Shared Responsibility Model. It defines exactly what AWS is responsible for and what you are responsible for when it comes to security.

The Core Idea

AWS secures the cloud. You secure what you put in the cloud.

This means AWS handles the physical infrastructure — the buildings, servers, network hardware, and hypervisors. You handle everything you configure on top of that — your operating systems, applications, data, and access controls.

The Split

┌─────────────────────────────────────────────────┐
│              YOUR RESPONSIBILITY                │
│  "Security IN the Cloud"                        │
│                                                 │
│  ┌──────────────────────────────────────────┐   │
│  │ Customer data                            │   │
│  │ Application configuration                │   │
│  │ IAM (users, roles, policies)             │   │
│  │ Operating system patches (EC2)           │   │
│  │ Network configuration (security groups)  │   │
│  │ Encryption settings                      │   │
│  │ Firewall rules                           │   │
│  └──────────────────────────────────────────┘   │
├─────────────────────────────────────────────────┤
│              AWS RESPONSIBILITY                 │
│  "Security OF the Cloud"                        │
│                                                 │
│  ┌──────────────────────────────────────────┐   │
│  │ Physical data centres                    │   │
│  │ Hardware (servers, storage, networking)   │   │
│  │ Hypervisor                               │   │
│  │ Network infrastructure                   │   │
│  │ Global infrastructure (Regions, AZs)     │   │
│  │ Managed service infrastructure           │   │
│  └──────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘

It Changes by Service Type

The boundary shifts depending on which AWS service you use:

Service Type Example AWS Manages You Manage
IaaS EC2 Hardware, hypervisor OS, patches, apps, data, security groups
Managed RDS Hardware, OS, patches, database engine Schema, queries, data, backups config, access
Serverless Lambda Everything except your code Function code, permissions, environment variables

The more managed the service, the less you manage. This is why DevOps teams often prefer managed or serverless services — they shift operational burden to AWS.

Real-World Example

Imagine you run a web application on EC2:

Task Who?
The data centre has a lock on the door AWS
The server hardware works AWS
The hypervisor is patched AWS
The OS is updated (Amazon Linux, Ubuntu) You
SSH keys are rotated You
Security groups only allow port 443 You
The application code has no vulnerabilities You
Customer data is encrypted You

Now compare that to Lambda:

Task Who?
Everything above (infra, OS, runtime) AWS
Your function code is secure You
IAM role has least privilege You
Environment variables do not leak secrets You

Why This Matters for DevOps

As a DevOps engineer, the shared responsibility model tells you exactly what to automate and monitor:

  1. Patch management — Automate OS patches on EC2 with SSM Patch Manager
  2. IAM policies — Enforce least privilege with policy reviews
  3. Encryption — Enable encryption at rest for S3, EBS, RDS
  4. Network security — Lock down security groups and NACLs
  5. Audit — Enable CloudTrail to log every API call

Common Mistake

“We are on AWS, so AWS handles security.”

This is wrong. AWS secures the infrastructure. If you leave an S3 bucket public, that is your mistake — not AWS’s. If you use root account without MFA, that is your risk.

Quick Reference

Concept Description
AWS responsibility Security OF the cloud (hardware, network, data centres)
Your responsibility Security IN the cloud (data, config, IAM, encryption)
IaaS (EC2) You manage most — OS, patches, security groups
Managed (RDS) You manage data, access, backups config
Serverless (Lambda) You manage code, IAM, environment only
Key takeaway More managed = less you manage, but never zero

Next → AWS Free Tier

Updated: