July 31, 2025

KMS

📘 ¿Qué es AWS KMS?

AWS Key Management Service (KMS) es un servicio administrado que permite crear, administrar y controlar el uso de claves de cifrado utilizadas para proteger datos en AWS y en tus propias aplicaciones.

KMS facilita la cifrado automático de datos en reposo y en tránsito, sin necesidad de que gestiones tus propias soluciones criptográficas.


🧠 ¿Para qué sirve?

  • Cifrar datos almacenados en servicios de AWS como S3, EBS, RDS, Redshift, etc.

  • Generar y almacenar claves criptográficas seguras (simétricas y asimétricas)

  • Firmar digitalmente mensajes o transacciones

  • Controlar acceso granular a claves mediante IAM y políticas de clave

  • Registrar uso de claves con CloudTrail para auditorías


🧩 Componentes clave

ComponenteDescripción
CMK (Customer Master Key)Clave principal creada y gestionada por el usuario o AWS
Key PolicyPolítica de control de acceso específica de cada clave
Envelope EncryptionTécnica que cifra los datos con una clave de datos y luego cifra esa clave con la CMK
Automatic Key RotationRotación automática cada 1 año para claves gestionadas por AWS
GrantsPermiten delegar permisos de uso temporal de una clave

🔐 Tipos de claves

Tipo de claveDescripción
Claves gestionadas por AWSCreadas y rotadas automáticamente por AWS (por ejemplo, para cifrado de S3 por defecto)
Claves gestionadas por el cliente (Customer Managed)Creadas, controladas y configuradas por el usuario
Claves importadasPuedes importar tu propio material de clave
Claves simétricasUna sola clave para cifrar/descifrar (AES-256)
Claves asimétricasPar de claves pública/privada para firma y cifrado (RSA/ECC)

⚙️ Cómo funciona (cifrado simétrico típico)

  1. Se genera una Data Key (clave de datos)

  2. Se usa para cifrar los datos en la app o servicio (por ejemplo, S3)

  3. Esa data key se cifra con la CMK de KMS (Envelope Encryption)

  4. El dato cifrado y la data key cifrada se almacenan juntos

  5. Para descifrar, se desencripta la data key con KMS, y luego se usan los datos


💡 Integraciones comunes

ServicioIntegración con KMS
S3Cifrado SSE-KMS (Server-Side Encryption)
EBSCifrado de volúmenes
RDS / RedshiftCifrado de datos en reposo
SQS / SNSCifrado de mensajes
Secrets ManagerAlmacena secretos cifrados con KMS
CloudTrailCifrado de logs

🔐 Control de acceso a claves

  • IAM Policies: controlan quién puede usar o administrar claves

  • Key Policies: políticas específicas por clave (más detalladas)

  • Grants: permisos temporales de uso delegados (ej. Lambda → DynamoDB cifrado)

  • Multi-Region Keys: permiten replicar claves entre regiones


🛡️ Seguridad y cumplimiento

  • Certificaciones: FIPS 140-2, PCI-DSS, HIPAA, FedRAMP

  • Todas las operaciones están registradas en AWS CloudTrail

  • Apoya la creación de claves de forma segura y controlada


💰 Precios aproximados

ConceptoCosto aproximado (ej. us-east-1)
Clave CMK activa (gestionada por el cliente)$1/mes
Solicitudes de cifrado/descifrado$0.03 por 10,000 solicitudes
Claves gestionadas por AWS (por servicio)Gratis
Importación de clave / uso de HSM personalizadoTiene costos adicionales

Consulta precios actualizados: https://aws.amazon.com/kms/pricing/


🧠 Preguntas tipo certificación

  1. ¿Qué servicio permite administrar claves de cifrado en AWS?

    • ✅ AWS KMS
  2. ¿Qué tipo de clave es necesaria para cifrado simétrico?

    • ✅ CMK simétrica (AES-256)
  3. ¿Qué técnica se usa para cifrar grandes volúmenes de datos eficientemente?

    • ✅ Envelope Encryption
  4. ¿Cómo puedes permitir que Lambda acceda temporalmente a una clave KMS?

    • ✅ Mediante un Grant
  5. ¿Qué mecanismo registra el uso de las claves?

    • ✅ AWS CloudTrail

📚 Recursos útiles