Crear una llave KMS en AWS es el primer paso para proteger objetos, bases de datos y discos en la nube mediante cifrado gestionado. Esta guía te muestra cómo configurar tu primera key, usarla para cifrar un archivo en S3 y eliminarla de forma segura, ideal para quienes empiezan con seguridad en AWS.
¿Qué es KMS y para qué sirve en AWS?
KMS, o Key Management Service, es el servicio de administración de llaves criptográficas de Amazon. Lo usas para cifrar información sensible y controlar quién puede leerla.
¿Qué es KMS en AWS? Es el servicio que crea, almacena y gestiona llaves de cifrado para proteger datos en servicios como S3, RDS o EBS. Tú defines quién administra y quién usa cada llave.
La idea es simple: en lugar de manejar llaves a mano, dejas que AWS las custodie y tú decides las políticas de acceso.
¿Cómo crear una llave KMS desde la consola?
Desde la consola de AWS, busca KMS en la barra superior y entra a Key Management Service. En la esquina superior derecha verás el botón naranja Create Key. Ahí empieza todo.
El asistente te pide varias decisiones clave antes de generar la llave:
- Tipo de llave: simétrica o asimétrica. La simétrica usa la misma llave para cifrar y descifrar, y es la opción más común en KMS. La asimétrica usa una llave para cifrar y otra para descifrar, útil en firmado y verificación.
- Uso: Encrypt and Decrypt es la opción estándar para proteger objetos.
- Advanced Options: aquí decides si la llave vive en KMS o en un CloudHSM, un módulo de hardware dedicado.
- Scope: define si la llave funciona en una sola región (Single Region Key) o si será multiregión.
Para este flujo, la configuración es simétrica, Encrypt and Decrypt, almacenamiento en KMS y single region [01:09].
¿Qué es el alias de una llave KMS?
El alias es un nombre amigable que apunta a tu llave. En el ejemplo se usa el alias Mi primera llave con la descripción "Esta es mi primera llave de seguridad".
Lo interesante es que al referenciar el alias en tus aplicaciones, AWS puede rotar la llave por detrás sin que tengas que cambiar el código. Ese es el verdadero beneficio del alias.
¿Quién administra y quién usa la llave?
KMS separa dos permisos distintos y eso importa mucho. Primero defines quién administra la llave, por ejemplo un usuario llamado Carlos Zambrano, y decides si esa persona puede o no eliminarla marcando la casilla correspondiente.
Luego defines quién la puede usar para cifrar y descifrar. Aquí puedes asignar:
- Usuarios IAM individuales.
- Roles de servicios como RDS o Lambda.
- Cuentas externas que necesiten acceso puntual.
Antes de finalizar, AWS muestra el overview y la política de la llave, que después puedes personalizar según tus necesidades [04:20].
¿Cómo cifrar un objeto en S3 con tu llave KMS?
Una vez creada la llave, toca verla en acción. El ejercicio es subir un archivo a un bucket de S3 y cifrarlo con la llave recién creada.
Entras al bucket, en este caso Platzi-Carlos Zambrano, das clic en Upload y agregas el archivo .txt desde tu equipo. Antes de confirmar la carga, expandes la sección Properties y bajas hasta encontrar la opción de cifrado.
Ahí seleccionas Specify an encryption key y eliges Server side encryption with Key Management Service. Tienes dos caminos:
- Pegar el ARN de la llave directamente.
- Seleccionarla de la lista de llaves disponibles en tu cuenta.
¿Qué es el ARN de una llave KMS? Es el Amazon Resource Name, el identificador único de la llave dentro de AWS. Lo encuentras dentro del detalle de la llave en KMS.
Después de seleccionar Mi primera llave, das clic en Upload y el archivo se sube cifrado. Si entras al objeto y bajas hasta Server side encryption settings, verás que el objeto está protegido con KMS y aparece el ARN de la llave usada.
¿Cómo eliminar una llave KMS de forma segura?
Borrar una llave KMS no es un clic inmediato, y eso es una protección, no un obstáculo. AWS te obliga a pasar por dos etapas.
Primero seleccionas la llave, vas a Key actions y eliges Disable. Confirmas en el prompt y la llave queda deshabilitada, lo que significa que ya no se puede usar para cifrar ni descifrar.
Luego, con la llave seleccionada, vuelves a Key actions y eliges Schedule key deletion. Aquí defines un waiting period que tiene un mínimo de siete días. Ese tiempo es tu red de seguridad: si descubres que algo dependía de esa llave, puedes recuperarla antes de que se borre.
¿Por qué KMS no permite borrar una llave de inmediato? Porque si la llave está cifrando objetos, discos o bases de datos activas, eliminarla al instante podría dejar inaccesible toda esa información. Los siete días mínimos son una ventana de recuperación.
Un consejo práctico: en producción, gestiona el ciclo de vida de tus llaves con cuidado extremo. Borrar una llave en uso puede significar perder acceso a datos críticos sin posibilidad de recuperarlos.
¿Qué otros servicios de AWS usan KMS para cifrar?
KMS no vive aislado, se integra con buena parte del catálogo de AWS. Ya conoces los obvios: EBS, RDS, S3 y EFS, todos pueden cifrarse con llaves KMS.
Pero el ecosistema es mucho más amplio. ¿Cuáles cinco servicios distintos a esos cuatro crees que también pueden cifrarse con KMS? Déjalos en los comentarios y compáralos con los que encuentren tus compañeros.