SAA-C03

Deep Dive

Practicar ahora
D1 · Arquitecturas seguras

Cifrado: KMS, Secrets Manager y SSM

La gestión de claves y secretos es uno de los pilares del dominio de seguridad. El examen distingue entre cuándo usar KMS (claves de cifrado), Secrets Manager (credenciales con rotación) y SSM Parameter Store (configuración). Entender esta distinción es clave.

Icon-Architecture/48/Arch_AWS-Key-Management-Service_48

AWS KMS — conceptos clave

AWS KMS es el servicio central de gestión de claves criptográficas. Se integra nativamente con S3, EBS, RDS, DynamoDB, Lambda, Secrets Manager y casi todo el ecosistema AWS.

Las claves KMS son regionales — una clave en us-east-1 no puede usarse directamente en eu-west-1. Para multi-región, existe Multi-Region Keys.

🔐

Seguridad FIPS 140-2

KMS usa módulos HSM certificados. Las claves nunca salen del módulo en texto claro.

📋

Auditoría con CloudTrail

Cada uso de una clave (cifrar, descifrar) genera un evento en CloudTrail. Trazabilidad total.

🔄

Rotación automática

Customer-managed keys: rotación anual automática opcional. Material nuevo, mismo Key ID.

Icon-Architecture/48/Arch_AWS-Key-Management-Service_48

Envelope Encryption

KMS no cifra tus datos directamente (sería ineficiente para archivos grandes). Usa envelope encryption: la CMK cifra una data key efímera, y esa data key cifra tus datos reales.

Flujo de cifrado

1

Solicitar data key

Tu app llama a KMS: GenerateDataKey. KMS devuelve la data key en texto claro Y cifrada con tu CMK.

2

Cifrar con data key

Tu app usa la data key en texto claro (localmente, sin llamada a red) para cifrar los datos.

3

Descartar data key en claro

Eliminas la data key en claro de memoria. Solo guardas: datos cifrados + data key cifrada.

4

Para descifrar

Llamas a KMS con la data key cifrada. KMS la descifra con la CMK y te devuelve la data key en claro para descifrar los datos.

Por qué es importante para el examen

Envelope encryption es la razón por la que KMS puede escalar a millones de objetos. Solo hay 2 llamadas a KMS por objeto (GenerateDataKey al cifrar, Decrypt al descifrar) — no importa el tamaño del archivo.

Icon-Architecture/48/Arch_AWS-Key-Management-Service_48

Tipos de claves KMS

Tipo de claveCreada porControlRotaciónCosto
AWS Owned KeysAWSNingunoAutomática (AWS)Gratis
AWS Managed KeysAWS (para tu cuenta)Ver policy, no modificarAutomática cada 3 añosGratis
Customer Managed KeysControl total (policy, rotación, disable)Manual o automática (1 año)$1/mes + $0.03/10k requests
Customer Imported KeysTú (material externo)Traes tu propio material criptográficoSolo manual$1/mes
Icon-Architecture/48/Arch_AWS-Secrets-Manager_48

AWS Secrets Manager

Secrets Manager almacena y gestiona secretos (contraseñas de BD, API keys, tokens OAuth) con rotación automática. Cifra secretos con KMS. Ideal para credenciales de bases de datos.

Características clave

  • Rotación automática de secretos con Lambda (built-in para RDS, Aurora, Redshift, DocumentDB)
  • Versionado de secretos: versiones AWSCURRENT, AWSPENDING, AWSPREVIOUS
  • Acceso cross-account a secretos via resource policies
  • Integración nativa con RDS — Secrets Manager rota la password de DB automáticamente
  • SDK en múltiples lenguajes para recuperar secretos en runtime sin hardcodear

Señales en el examen

  • "Rotación automática de credenciales de base de datos" → Secrets Manager
  • "Aplicación que necesita credenciales sin hardcodear" → Secrets Manager + SDK
  • "Credenciales diferentes en dev/staging/prod" → Secrets Manager por ambiente
  • "Credenciales de RDS accesibles cross-account" → Secrets Manager + resource policy
Icon-Architecture/48/Arch_AWS-Systems-Manager_48

SSM Parameter Store

AWS Systems Manager Parameter Store almacena configuración y secretos simples en formato key-value. Más barato que Secrets Manager pero sin rotación automática integrada.

Standard Parameter

Hasta 4KB, gratuito. Para configuración como nombres de ambiente, URLs, feature flags.

Advanced Parameter

Hasta 8KB, $0.05/parámetro/mes. Soporta políticas (TTL, expiración). Para secretos de mayor tamaño.

String

Valor de texto plano. Para configuración no sensible (nombre de ambiente, región, etc.).

SecureString

Valor cifrado con KMS. Para secretos simples que no necesitan rotación automática.

Icon-Architecture/48/Arch_AWS-Key-Management-Service_48

AWS Certificate Manager (ACM)

ACM provisiona, gestiona y renueva certificados SSL/TLS automáticamente. Gratis para certificados usados con AWS services (CloudFront, ALB, API Gateway).

Renovación automática

ACM renueva certificados antes de que expiren. Cero gestión manual.

Solo para AWS services

No puedes exportar la clave privada. Solo ALB, CloudFront, API Gateway.

Certificados importados

Puedes importar certificados de terceros (Let's Encrypt, etc.) si necesitas exportarlos.

Validación

DNS validation (recomendada) o Email validation para probar que eres dueño del dominio.

Icon-Architecture/48/Arch_AWS-Key-Management-Service_48

Cuándo usar cada servicio

NecesidadServicio recomendadoRazón
Cifrar datos en S3, EBS, RDSAWS KMSIntegración nativa + auditoría CloudTrail
Credenciales de BD con rotación automáticaSecrets ManagerRotación integrada con Lambda para RDS/Aurora
Variables de configuración por ambienteSSM Parameter Store (Standard)Gratuito, jerárquico (/prod/api/url)
API keys sin rotación automáticaSSM Parameter Store SecureStringMás barato que Secrets Manager si no necesitas rotación
Certificados HTTPS para ALB/CloudFrontAWS Certificate ManagerGratis + renovación automática
Material criptográfico propio (BYOK)KMS Customer Imported KeysControl total del material de clave

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una aplicación en EC2 necesita conectarse a una base de datos RDS MySQL. Las credenciales deben rotarse automáticamente cada 30 días sin reiniciar la aplicación. ¿Cuál es la solución correcta?