AWS Certified Cloud Practitioner
Post 5 of 25
20%
Complete
AWS Cloud Practitioner #5: Shared Responsibility Model - ¿Quién es Responsable de Qué?
Comprende el modelo de responsabilidad compartida de AWS: qué gestiona AWS (security OF the cloud) vs. qué gestionas tú (security IN the cloud).
Recommended Prerequisites
For the best learning experience, we recommend reading these posts first:
AWS Cloud Practitioner #1: De Servidores Físicos a la Nube
Aprende qué es cloud computing y las diferencias entre IaaS, PaaS y SaaS con una metodología bottom-up que construye tu conocimiento paso a paso.
Cloud Architecture7 min read→AWS Cloud Practitioner #4: Well-Architected Framework - Los 6 Pilares
Aprende los 6 pilares del AWS Well-Architected Framework: Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization y Sustainability.
Cloud Architecture13 min read→
🎯 Lo que Aprenderás Hoy
Al finalizar este post, podrás:
- Explicar el modelo de responsabilidad compartida de AWS
- Diferenciar entre "Security OF the cloud" y "Security IN the cloud"
- Identificar responsabilidades específicas para EC2, S3, RDS, Lambda
- Responder preguntas del examen sobre responsabilidad de seguridad
El Problema Real
Es lunes por la mañana. Recibes un email de auditoría de seguridad:
"Se encontró un S3 bucket público con datos sensibles de clientes. ¿Quién es responsable?"
Tu CTO pregunta: "¿No es responsabilidad de AWS mantener nuestros datos seguros?"
Spoiler: Depende.
Escenario Real
Incidente: Bucket S3 con 100,000 registros de clientes públicamente accesible
Análisis:
❌ "Es culpa de AWS"
✅ "Es culpa nuestra"
¿Por qué?
- AWS es responsable de: Seguridad DE la plataforma S3
- TÚ eres responsable de: Configurar el bucket como privadoEste es el Shared Responsibility Model en acción.
¿Qué es el Shared Responsibility Model?
El Modelo de Responsabilidad Compartida define quién es responsable de qué en términos de seguridad y compliance en la nube.
Analogía: Es como rentar un apartamento.
Dueño del edificio (AWS):
- Estructura del edificio
- Sistemas eléctricos
- Plomería central
- Seguridad del edificio
Inquilino (Tú):
- Cerrar con llave tu puerta
- No dejar ventanas abiertas
- Configurar tu alarma
- Cuidar tus pertenencias
División de Responsabilidades
AWS: Security OF the Cloud
(Infraestructura física y software que corre AWS)
CLIENTE: Security IN the Cloud
(Datos, configuración, accesos)🔸 AWS: Security OF the Cloud
¿Qué Gestiona AWS?
AWS es responsable de proteger la infraestructura que corre todos los servicios AWS.
Incluye:
1. Hardware físico
- Servidores físicos
- Storage devices
- Network equipment
- Cables, racks, refrigeración2. Facilities (Data Centers)
- Seguridad física del edificio
- Control de acceso (biométrico, guardias)
- Vigilancia 24/7
- Energía y refrigeración redundante3. Network infrastructure
- Routers, switches
- Firewalls perimetrales
- DDoS protection
- Network monitoring4. Virtualization layer
- Hypervisor (software de virtualización)
- Isolation entre clientes
- Hardware segregation5. Managed service operations
Para servicios como RDS, Lambda:
- OS patches
- Database updates
- Scaling infrastructureEjemplo Práctico
Servicio: Amazon RDS (PostgreSQL)
AWS gestiona:
✅ Servidores físicos donde corre RDS
✅ Hypervisor que virtualiza recursos
✅ Patches del OS
✅ Patches de PostgreSQL
✅ Backups automáticos (infraestructura)
✅ Multi-AZ replication (infraestructura)
Tú NO necesitas:
❌ Preocuparte por seguridad física
❌ Actualizar el OS manualmente
❌ Configurar replicación a nivel de hardware🔸 CLIENTE: Security IN the Cloud
¿Qué Gestionas Tú?
Eres responsable de TODO lo que pongas EN la nube y cómo lo configures.
Incluye:
1. Data
- Proteger datos sensibles
- Encriptar información
- Clasificar datos
- Retención y eliminación2. Platform, Applications
- Código de tu aplicación
- Configuración de aplicaciones
- Dependencies y libraries3. Identity and Access Management (IAM)
- Usuarios y permisos
- MFA (Multi-Factor Authentication)
- Password policies
- Roles y policies4. Operating System (para EC2)
- Patches de OS
- Firewall configuration
- Anti-virus5. Network Configuration
- Security Groups
- Network ACLs
- VPC configuration
- Subnet design6. Firewall Configuration
- Security Group rules
- WAF rules
- Network ACL rules7. Client-side data encryption
- Encriptar antes de subir a AWS
- Gestionar encryption keys8. Server-side encryption
- Habilitar encryption en S3
- Configurar KMS keys
- Encryption at rest configurationEjemplo Práctico
Servicio: Amazon S3
Tú gestionas:
✅ Configurar bucket como privado/público
✅ Configurar policies de acceso (quién puede leer/escribir)
✅ Habilitar versioning
✅ Habilitar encryption
✅ Configurar lifecycle policies
✅ Configurar bucket logging
✅ Contenido que subes al bucket
Ejemplo de error común:
❌ Hacer bucket público por accidente
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*", ← ¡Acceso público!
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mi-bucket/*"
}]
}
✅ Configuración correcta (privado):
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/juan"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mi-bucket/*"
}]
}Responsabilidades por Tipo de Servicio
IaaS (Infrastructure as a Service) - EC2
Servicio: Amazon EC2
AWS gestiona:
✅ Hardware físico
✅ Hypervisor
✅ Network infrastructure
✅ Physical securityTÚ gestionas:
✅ OS (Windows/Linux)
✅ OS patches y updates
✅ Applications
✅ Security Groups
✅ IAM roles
✅ Data encryption
✅ Firewall del OS
✅ Anti-virusEjemplo:
# Eres responsable de actualizar el OS
# AWS NO hace esto automáticamente para EC2
sudo yum update -y # Amazon Linux
sudo apt update && sudo apt upgrade -y # Ubuntu
# También eres responsable de configurar firewall
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 443/tcpNivel de responsabilidad: ALTO (más control, más responsabilidad)
PaaS (Platform as a Service) - RDS
Servicio: Amazon RDS
AWS gestiona:
✅ Hardware físico
✅ Hypervisor
✅ OS (no tienes acceso SSH)
✅ OS patches
✅ Database patches
✅ Backups (infraestructura)
✅ Multi-AZ replication (setup)TÚ gestionas:
✅ Database configuration
✅ Database users y passwords
✅ IAM policies para acceso
✅ Security Groups
✅ Data encryption (habilitar)
✅ Backups (retención, scheduling)
✅ Data dentro de la databaseEjemplo:
-- AWS gestiona el engine PostgreSQL
-- Pero TÚ gestionas users, roles, data
-- Eres responsable de:
CREATE USER app_user WITH PASSWORD 'secure_password_123';
GRANT SELECT, INSERT ON orders TO app_user;
-- También de encriptar datos sensibles
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
ssn BYTEA -- Encriptado a nivel de aplicación ANTES de insertar
);Nivel de responsabilidad: MEDIO (AWS gestiona más, tú menos)
SaaS (Software as a Service) - WorkMail
Servicio: Amazon WorkMail (email corporativo)
AWS gestiona:
✅ TODO el software
✅ TODO el infrastructure
✅ OS, patches, updates
✅ Scaling, availability
✅ Email delivery infrastructureTÚ gestionas:
✅ Usuarios y permisos
✅ Configuración de políticas de email
✅ Data governance
✅ Compliance de contenidoNivel de responsabilidad: BAJO (AWS gestiona casi todo)
Serverless - Lambda
Servicio: AWS Lambda
AWS gestiona:
✅ Hardware
✅ OS
✅ Runtime (Node.js, Python, etc.)
✅ Scaling
✅ High availabilityTÚ gestionas:
✅ Código de la función
✅ IAM roles/policies
✅ Environment variables
✅ Configuration (memory, timeout)
✅ DependenciesEjemplo:
# Lambda function
# AWS gestiona: servers, OS, Python runtime
# TÚ gestionas: código, IAM role, environment vars
import os
import boto3
def lambda_handler(event, context):
# TU responsabilidad: código seguro
# No hardcodear credenciales
# ❌ MAL
# api_key = "sk_live_12345"
# ✅ BIEN
api_key = os.environ['API_KEY'] # Desde env vars
return {
'statusCode': 200,
'body': 'Success'
}Responsabilidad por Categoría
1. Data Security
Escenario: Tienes información de tarjetas de crédito en S3
| Aspecto | AWS | Cliente |
|---|---|---|
| Protección física del storage | ✅ | |
| Encryption en tránsito (HTTPS) disponible | ✅ | |
| Habilitar encryption en S3 | ✅ | |
| Configurar bucket policies | ✅ | |
| Clasificar y proteger datos | ✅ | |
| Cumplir PCI-DSS | ✅ |
# AWS provee la capacidad
# TÚ debes habilitarla
# Habilitar encryption
aws s3api put-bucket-encryption \
--bucket mi-bucket \
--server-side-encryption-configuration '{
"Rules": [{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "AES256"
}
}]
}'2. Network Security
Escenario: Aplicación web en EC2
| Aspecto | AWS | Cliente |
|---|---|---|
| Network infrastructure | ✅ | |
| DDoS protection básica | ✅ | |
| Security Groups configuration | ✅ | |
| Network ACLs | ✅ | |
| VPC design | ✅ | |
| Subnets (public/private) | ✅ |
# Terraform example
# TÚ eres responsable de configurar Security Groups
resource "aws_security_group" "web_sg" {
name = "web-server-sg"
# ✅ BIEN: Solo permite HTTPS
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
# ❌ MAL: No abras todos los puertos
# ingress {
# from_port = 0
# to_port = 65535
# protocol = "tcp"
# cidr_blocks = ["0.0.0.0/0"]
# }
}3. Compliance
Escenario: Tu app debe cumplir HIPAA (regulación médica USA)
| Aspecto | AWS | Cliente |
|---|---|---|
| Infrastructure compliance (SOC 2, ISO 27001) | ✅ | |
| HIPAA-eligible services | ✅ | |
| Firmar BAA (Business Associate Agreement) | ✅ | |
| Configurar encryption | ✅ | |
| Configurar logging/auditing | ✅ | |
| Gestionar accesos (RBAC) | ✅ | |
| Data retention policies | ✅ |
AWS te da las herramientas, tú debes usarlas correctamente.
Diagrama Visual del Modelo
---
config:
theme: base
---
flowchart TB
subgraph customer["🔹 CLIENTE (Security IN the Cloud)"]
data["Client-side Data Encryption<br/>& Data Integrity"]
platform["Platform, Applications,<br/>IAM"]
os["OS, Network,<br/>Firewall Config"]
encryption["Server-side Encryption<br/>(File System/Data)"]
network["Network Traffic<br/>Protection (VPC, SG)"]
end
subgraph aws["🔸 AWS (Security OF the Cloud)"]
software["Software:<br/>Compute, Storage,<br/>Database, Networking"]
hardware["Hardware/Infrastructure:<br/>Regions, AZs,<br/>Edge Locations"]
physical["Physical Security:<br/>Data Centers"]
end
data -.-> platform -.-> os -.-> encryption -.-> network
network -.-> software -.-> hardware -.-> physical
style customer fill:#FF9900,stroke:#232F3E,color:#000
style aws fill:#232F3E,stroke:#FF9900,color:#fff
style data fill:#fff,stroke:#232F3E
style platform fill:#fff,stroke:#232F3E
style os fill:#fff,stroke:#232F3E
style encryption fill:#fff,stroke:#232F3E
style network fill:#fff,stroke:#232F3E
style software fill:#fff,stroke:#FF9900,color:#000
style hardware fill:#fff,stroke:#FF9900,color:#000
style physical fill:#fff,stroke:#FF9900,color:#000
Concepto clave:
- Mientras más control tienes (IaaS), más responsabilidad
- Mientras menos control (SaaS), menos responsabilidad
❌ Errores Comunes
Error 1: "AWS protege todos mis datos automáticamente"
Realidad:
Escenario: Base de datos RDS con datos sensibles
❌ Pensamiento erróneo:
"AWS gestiona RDS, entonces mis datos están automáticamente:
- Encriptados
- Con backups
- Protegidos de acceso no autorizado"
✅ Realidad:
AWS provee las herramientas, TÚ debes:
- Habilitar encryption
- Configurar backups
- Configurar Security Groups
- Gestionar users/passwords
- Configurar IAM policiesError 2: "No necesito security groups, AWS gestiona la seguridad de red"
Realidad:
# AWS gestiona: Network infrastructure
# TÚ gestionas: Security Groups
# ❌ Default security group (NO recomendado para producción)
# Permite TODO el tráfico dentro del VPC
# ✅ Security group restrictivo
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 443 \
--cidr 10.0.0.0/16 # Solo desde tu VPCError 3: "AWS hace backups automáticos"
Realidad:
Para EC2:
❌ AWS NO hace backups automáticos de EC2 instances
✅ TÚ debes: Configurar snapshots, usar AWS Backup, o third-party solutionsPara RDS:
✅ AWS puede hacer automated backups
⚠️ Pero TÚ debes: HABILITAR la feature y configurar retention# RDS: Habilitar automated backups
aws rds modify-db-instance \
--db-instance-identifier mydb \
--backup-retention-period 7 \ # Retener 7 días
--preferred-backup-window "03:00-04:00" # 3-4 AMMatriz de Responsabilidades por Servicio
| Servicio | Tipo | OS | Patches | Config | Data | Network | |----------|------|----|---------||------|---------| | EC2 | IaaS | Cliente | Cliente | Cliente | Cliente | Cliente | | RDS | PaaS | AWS | AWS | Compartido | Cliente | Cliente | | Lambda | Serverless | AWS | AWS | Cliente | Cliente | AWS* | | S3 | Storage | AWS | AWS | Cliente | Cliente | Cliente | | DynamoDB | PaaS | AWS | AWS | Cliente | Cliente | AWS |
*Lambda en VPC: Cliente gestiona network
Casos de Uso Reales
Caso 1: Data Breach en S3
Incidente: 100M de registros expuestos
Causa raíz: Bucket S3 configurado como público
¿Culpa de AWS? NO
¿Culpa del cliente? SÍ
Responsabilidad del cliente:
- Configurar bucket policies correctamente
- No hacer buckets públicos por defecto
- Usar S3 Block Public Access
- Auditar configuraciones regularmente
Herramientas AWS (que cliente NO usó):
- S3 Block Public Access (previene buckets públicos)
- AWS Config (detecta configuraciones incorrectas)
- CloudTrail (audita cambios)Caso 2: EC2 Comprometido
Incidente: Instancia EC2 hackeada, usado para mining de crypto
Causa raíz: Faltaron patches de seguridad en OS
¿Culpa de AWS? NO
¿Culpa del cliente? SÍ
Responsabilidad del cliente (para EC2):
- Aplicar patches de seguridad regularmente
- Configurar Security Groups restrictivos
- Usar IAM roles (no credenciales hardcoded)
- Implementar monitoring/alerting
Prevención:
# Automated patching con Systems Manager
aws ssm create-patch-baseline \
--name "ProductionBaseline" \
--approval-rules "PatchRules=[{PatchFilterGroup={PatchFilters=[{Key=CLASSIFICATION,Values=[Security]}]},ApproveAfterDays=7}]"Caso 3: RDS con Datos No Encriptados
Incidente: Auditoría falla por datos sin encriptar
¿Culpa de AWS? NO
¿Culpa del cliente? SÍ
Responsabilidad del cliente:
- Habilitar encryption at rest para RDS
- Usar SSL/TLS para connections (encryption in transit)
- Gestionar KMS keys
AWS provee:
✅ Encryption capability (KMS)
✅ Documentación
Cliente debe:
✅ Habilitar encryption
✅ Configurar correctamente
# Crear RDS con encryption
aws rds create-db-instance \
--db-instance-identifier mydb \
--engine postgres \
--storage-encrypted \ # ← Cliente debe especificar
--kms-key-id arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012📝 Preparación para el Examen
Puntos Clave para Memorizar
Regla de oro: 📌 AWS = Security OF the cloud (infraestructura) 📌 Cliente = Security IN the cloud (datos, configuración, accesos)
Por servicio:
- EC2: Cliente gestiona TODO desde OS hacia arriba
- RDS: AWS gestiona OS/patches, cliente gestiona DB config/data
- Lambda: AWS gestiona servers/OS, cliente gestiona código
- S3: Cliente gestiona bucket policies, encryption, data
Responsabilidades siempre del cliente:
- Data encryption (habilitarla)
- IAM users/policies
- Security Groups configuration
- Data classification
- Compliance de tu industria
Responsabilidades siempre de AWS:
- Physical security
- Hardware
- Network infrastructure (cables, routers físicos)
- Hypervisor
Preguntas de Práctica
Pregunta 1:
Una empresa almacena datos de salud en S3. Según el Shared Responsibility Model, ¿quién es responsable de encriptar los datos?
A) AWS automáticamente encripta todo B) El cliente debe habilitar encryption C) Es responsabilidad compartida 50/50 D) Nadie, S3 no soporta encryption
Respuesta: B) El cliente debe habilitar encryption
AWS provee la capacidad de encryption (KMS), pero el cliente debe habilitarla y configurarla. Security IN the cloud = responsabilidad del cliente.
Pregunta 2:
¿Quién es responsable de aplicar patches de seguridad al OS en una instancia EC2?
A) AWS automáticamente B) El cliente C) AWS, pero solo con un service plan premium D) Depende del OS (Linux vs. Windows)
Respuesta: B) El cliente
Para EC2 (IaaS), el cliente gestiona el OS, incluyendo patches. AWS gestiona el hypervisor y hardware, pero NO el OS de la instancia.
Nota: Para RDS (PaaS), AWS gestiona OS patches.
Pregunta 3:
¿De qué es responsable AWS según el Shared Responsibility Model?
A) Configurar Security Groups B) Gestionar IAM users C) Physical security de data centers D) Encriptar datos del cliente
Respuesta: C) Physical security de data centers
AWS es responsable de la seguridad DE la infraestructura física: data centers, hardware, facilities. Opciones A, B, D son responsabilidad del cliente (security IN the cloud).
🎓 Resumen
Lo que aprendimos:
- Shared Responsibility Model: División clara entre responsabilidades de AWS y cliente
- AWS (OF the cloud): Infrastructure, hardware, facilities, hypervisor
- Cliente (IN the cloud): Data, configuration, access management, encryption
- Varía por servicio: Más control (EC2) = más responsabilidad, Menos control (Lambda) = menos responsabilidad
Regla simple:
IaaS (EC2): Cliente gestiona MÁS (OS, apps, data)
PaaS (RDS): Cliente gestiona MEDIO (config, data)
SaaS (WorkMail): Cliente gestiona MENOS (solo users, policies)
Pero SIEMPRE:
- Cliente gestiona: Data, IAM, Encryption (habilitarla)
- AWS gestiona: Physical infrastructure, hypervisorResponsabilidades comunes del cliente:
✅ Data encryption (habilitar y configurar)
✅ IAM users, roles, policies
✅ Security Groups / Network ACLs
✅ Bucket policies (S3)
✅ Data classification
✅ Compliance con regulaciones de tu industriaResponsabilidades de AWS:
✅ Physical security de data centers
✅ Hardware (servers, storage, network)
✅ Hypervisor
✅ Network infrastructure (cabling, routers físicos)
✅ Managed service operations (RDS patches, Lambda scaling, etc.)⏭️ Próximo Post
En el Post #6 comenzaremos el Módulo 2: Core Services con Amazon EC2:
- ¿Qué es EC2 y por qué es fundamental?
- Instance types y familias
- Pricing models (On-Demand, Reserved, Spot)
- Casos de uso y best practices
📚 Recursos
Tags: #AWS #CloudPractitioner #Security #SharedResponsibility #Compliance #Certification
Related Articles
AWS Cloud Practitioner #9: Amazon VPC - Tu Red Privada en la Nube
Domina VPC: subnets públicas y privadas, Internet Gateway, NAT Gateway, Route Tables y diseña arquitecturas de red seguras y escalables.
AWS Cloud Practitioner #12: AWS IAM - Control de Accesos
Domina IAM: users, groups, roles, policies, MFA, y el principio de least privilege para asegurar tu cuenta AWS.
AWS Cloud Practitioner #13: Encryption y AWS KMS
Aprende encryption at rest y in transit, AWS KMS para gestión de claves, y cómo proteger datos sensibles en AWS.
AWS Cloud Practitioner #14: CloudTrail - Auditoría y Compliance
Domina CloudTrail para auditing, AWS Config para compliance, y aprende a rastrear todas las acciones en tu cuenta AWS.