# AWS KMS

> La bóveda de AWS para claves de cifrado: las usás, pero nunca salen de ahí.

- Nivel: Intermedio
- Temas: AWS, Seguridad
- URL: https://tidbit.legios.com.ar/es/aws-kms/
- En inglés: [AWS KMS](https://tidbit.legios.com.ar/aws-kms/)

El cifrado vale lo que vale la protección de sus claves. Si guardás la clave al lado de los datos, un ladrón se lleva las dos cosas. **KMS** (Key Management Service, servicio de administración de claves) resuelve eso en AWS: crea y guarda las claves de cifrado adentro de hardware dedicado y resistente a manipulaciones, y vos nunca llegás a ver ni a descargar la clave en sí. Le mandás datos a KMS y le pedís que cifre o descifre, e IAM decide quién tiene permiso para pedirlo.

Para archivos grandes usa un truco llamado **cifrado de sobre** (envelope encryption). KMS genera una **clave de datos** nueva, que cifra el archivo en el lugar; después la clave de KMS cifra esa clave de datos, y la clave de datos cifrada se guarda junto al archivo. Para leer el archivo, un servicio le pide a KMS que destrabe la clave de datos chiquita. El archivo grande nunca viaja a KMS, y la clave maestra nunca sale de ahí.

La mayoría de los servicios de AWS se enchufan a KMS con una casilla: los buckets de Amazon S3, los discos de Amazon EBS, las bases de Amazon RDS y muchos más cifran sus datos con una clave de KMS. Cada uso de una clave queda registrado en AWS CloudTrail, así que podés ver quién descifró qué. Y como la clave es el único camino de vuelta a los datos, borrar una clave de KMS es lento a propósito: AWS te hace esperar unos días antes, por si fue un error.

## Una analogía

Una bóveda de banco con ventanilla. Nunca te dan la llave maestra; le pasás al cajero la llave de tu cajita, él la cierra o la abre detrás del vidrio, y cada visita queda anotada en el libro del banco.

## Para quedarse

- Las claves se crean y se usan adentro de KMS; su material nunca sale.
- Cifrado de sobre: una clave de datos cifra los datos, una clave de KMS cifra la clave de datos.
- Viene integrado en S3, EBS, RDS y casi todos los demás servicios de AWS.
- IAM controla quién usa cada clave, y CloudTrail registra cada uso.

## Para seguir leyendo

- [AWS Key Management Service (documentación oficial)](https://docs.aws.amazon.com/es_es/kms/latest/developerguide/overview.html)
- [AWS KMS](https://aws.amazon.com/es/kms/)
- [Key management en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Key_management)

## Términos relacionados

- [Cifrado](https://tidbit.legios.com.ar/es/encryption/): Mezclar datos para que solo quien tiene la clave pueda leerlos.
- [IAM](https://tidbit.legios.com.ar/es/iam/): El reglamento que dice quién puede hacer qué en tu cuenta de AWS.
- [Amazon S3](https://tidbit.legios.com.ar/es/amazon-s3/): Un cajón gigante en internet para guardar archivos, alquilado por gigabyte.
- [Amazon EBS](https://tidbit.legios.com.ar/es/amazon-ebs/): El disco rígido virtual de una instancia EC2, que sobrevive cuando la instancia se apaga.
- [Amazon RDS](https://tidbit.legios.com.ar/es/amazon-rds/): Una base de datos relacional lista para usar, que AWS mantiene parchada y respaldada.
- [AWS CloudTrail](https://tidbit.legios.com.ar/es/aws-cloudtrail/): El libro de registro de una cuenta de AWS: quién hizo qué, cuándo y desde dónde.
