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
- Creas una clave gestionada por el cliente con su política, que define quién la administra y quién puede usarla.
- Un servicio como S3, EBS o RDS se configura para cifrar con esa clave.
- 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.
- 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.
- 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:Decrypten 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
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
Para profundizar