Saltar al contenido
← Catálogo
Seguridad e identidadIntermedio

AWS KMS

Key Management Service

Crea y controla las claves de cifrado que usan los demás servicios, con permisos de IAM y registro de cada uso.

En palabras simples

Es la caja fuerte de las llaves del edificio: las llaves nunca salen de ahí, tú solo pides que abran o cierren una puerta concreta, y queda anotado quién lo pidió y cuándo.

Cuándo aplicarlo

Siempre que haya datos que cifrar en reposo — buckets, volúmenes, bases de datos, secretos — y haga falta controlar y auditar quién puede descifrarlos.

  • ▸Cifrar los objetos de un bucket de S3 con una clave propia y no con la de AWS
  • ▸Cifrar volúmenes de EBS, instantáneas y bases de datos de RDS
  • ▸Proteger secretos y parámetros de configuración
  • ▸Demostrar en una auditoría quién descifró qué y en qué momento

Vocabulario mínimo

Clave gestionada por el cliente
La que tú creas y controlas: su política, su rotación y quién puede usarla.
Clave gestionada por AWS
La que crea el servicio automáticamente. No cuesta, pero no se puede ajustar su política.
Cifrado de sobre
El dato se cifra con una clave de datos, y esa clave se cifra con la de KMS. Es lo que permite cifrar archivos grandes.
Política de clave
El permiso que vive en la propia clave. Sin él, ni siquiera un administrador de la cuenta puede usarla.
Rotación automática
KMS genera material criptográfico nuevo cada año sin que cambie el identificador de la clave.

Costo y capa gratuita

Cómo se cobra
Una tarifa mensual por cada clave gestionada por el cliente, más un costo por cada diez mil peticiones criptográficas. Las claves gestionadas por AWS no tienen costo mensual.
Capa gratuita
20.000 peticiones al mes de forma permanente. El cargo mensual por clave sí se aplica desde la primera clave propia.

Cuidado con los créditos

  • ⚠Crear una clave propia por cada recurso: cada una tiene su tarifa mensual, y a menudo bastaría una por entorno.
  • ⚠Aplicaciones que piden descifrar en cada operación en lugar de reutilizar la clave de datos: dispara el número de peticiones.
  • ⚠Claves programadas para borrado que nadie llega a eliminar: siguen cobrando durante el periodo de espera.

Descripción

Cifrar es fácil; administrar las claves es lo difícil. Dónde se guardan, quién puede usarlas, cómo se rotan sin romper lo ya cifrado y cómo se demuestra ante un auditor quién descifró qué. KMS existe para responder exactamente esas preguntas.

Su idea central es que el material de la clave nunca sale del servicio. Las aplicaciones no reciben la clave: le piden a KMS que cifre o descifre, y KMS comprueba los permisos de IAM y anota la operación en CloudTrail. Quien pierde el permiso pierde el acceso al dato, aunque tenga el archivo.

Cómo funciona

  1. Creas una clave gestionada por el cliente con su política, que define quién la administra y quién puede usarla.
  2. Un servicio como S3, EBS o RDS se configura para cifrar con esa clave.
  3. Para archivos grandes se usa cifrado de sobre: KMS entrega una clave de datos, el servicio cifra con ella y guarda esa clave ya cifrada junto al dato.
  4. Al leer, el servicio pide a KMS que descifre la clave de datos. Si el permiso no está, la lectura falla aunque el archivo se pueda descargar.
  5. Cada operación queda registrada en CloudTrail, con quién la hizo y sobre qué recurso.

Manos a la obra

  • Crea una clave gestionada por el cliente y anota su tarifa mensual antes de seguir.
  • Crea un bucket de S3 que cifre con esa clave y sube un archivo.
  • Quita a tu propio usuario el permiso kms:Decrypt en la política de la clave e intenta descargarlo: el objeto está ahí y aun así no se puede leer.
  • Restaura el permiso y revisa en CloudTrail los dos intentos, el fallido y el correcto.
  • Programa el borrado de la clave al terminar para que deje de generar cargo mensual.

Ejemplo visual

Cifrado de sobre en un bucket de S3subeclave datosanota usoAplicaciónAmazon S3objeto cifradoAWS KMSclaveAWS CloudTrailregistro
Cifrado de sobre en un bucket de S3Una aplicación sube un archivo a Amazon S3, que está configurado para cifrar con una clave de AWS KMS. S3 pide a KMS una clave de datos, cifra el objeto con ella y guarda esa clave ya cifrada junto al archivo. Cuando alguien intenta leer el objeto, S3 pide a KMS que descifre la clave de datos, y KMS comprueba antes los permisos de IAM de quien pregunta. Cada una de esas operaciones queda registrada en AWS CloudTrail, así que existe un rastro completo de quién descifró qué.

La consecuencia práctica es fuerte: con KMS, revocar un permiso equivale a revocar el acceso al dato, sin necesidad de mover ni volver a cifrar un solo archivo.

Cuándo NO es la mejor opción

  • AWS CloudHSM — si una norma exige que el material de la clave viva en un módulo de hardware dedicado y exclusivo.
  • Cifrado gestionado por el servicio — si no necesitas controlar la política de la clave, la opción por defecto ya cifra y no cuesta nada.

Se usa junto con

Aparece en certificaciones

  • AWS Certified Cloud Practitioner
  • AWS Certified Solutions Architect – Associate
  • AWS Certified Security – Specialty