¿Estás buscando una forma de cifrar y descifrar tus datos de manera rápida? ¡Consulta AWS Key Management! Este servicio ofrece seguridad de alto nivel para tus datos al permitirte crear y gestionar claves criptográficas. También puedes controlar quién tiene acceso a tus claves y qué acciones pueden realizar con ellas.
Este tutorial, de ninguna manera, cubre todo lo que hay que saber sobre AWS Key Management. Sin embargo, te dará una buena visión general de los conceptos básicos para utilizar esta poderosa herramienta.
¡Sigue leyendo para aprovechar los beneficios de seguridad de AWS Key Management!
Prerrequisitos
Este tutorial será una demostración práctica. Si deseas seguirlo, asegúrate de tener lo siguiente.
- Una cuenta de AWS con facturación activa. Puedes crear una cuenta de AWS de forma gratuita aquí. La capa gratuita incluye suficientes servicios para comenzar con este tutorial.
- Tienes AWS CLI instalada y configurada en tu máquina. Consulta este tutorial para obtener más información.
Creando una Clave KMS Utilizando la Consola de AWS
Lee si prefieres la consola de AWS (GUI) en lugar de la AWS CLI. La siguiente sección te guiará a través de la creación de una clave KMS utilizando la consola.
Creación de un usuario IAM
Para comenzar, debes crear un usuario IAM que utilizarás para acceder al servicio de administración de claves AWS desde la interfaz de línea de comandos de AWS (CLI).
Los usuarios IAM son independientes de las credenciales de tu cuenta principal de AWS. Utilizar usuarios IAM se considera una buena práctica porque te permite tener un control detallado sobre quién tiene acceso a qué recursos en tu cuenta de AWS.
Sigue estos pasos para crear un usuario IAM con acceso mediante contraseña para el servicio de administración de claves AWS:
1. Inicia sesión en la Consola de administración de AWS como usuario principal.
2. Escribe IAM en la barra de búsqueda de servicios y selecciona IAM en los resultados para abrir la consola IAM. Esta consola es donde puedes gestionar usuarios IAM y sus permisos.

3. Ve a Usuarios → Agregar usuarios para añadir un nuevo usuario IAM.

4. Realiza los siguientes pasos en la página Agregar usuario.
Ingresa un nombre para tu nuevo usuario. En este ejemplo, se llama KMSUserConsole.
Selecciona la opción Contraseña – acceso a la consola de administración de AWS radio button > Contraseña generada automáticamente. Esta opción generará una contraseña aleatoria para tu usuario.
Asegúrate de que la casilla El usuario debe crear una nueva contraseña en el próximo inicio de sesión esté desmarcada. Esto te permitirá iniciar sesión como este usuario sin tener que restablecer la contraseña primero.
Haz clic en Siguiente: Permisos para continuar.

5. En la página Establecer permisos, selecciona Adjuntar directamente políticas existentes. Selecciona AdministratorAccess de la lista de políticas disponibles. Esta política otorga al usuario acceso completo a AWS, incluida la capacidad de crear y gestionar claves.
Haz clic en Siguiente: Etiquetas para continuar.

6. En la página Agregar etiquetas (opcional), puedes agregar cualquier etiqueta relevante a tu usuario. Para este tutorial, no agregarás ninguna etiqueta. Haz clic en Siguiente: Revisar para revisar los permisos e información de tu usuario.

7. Asegúrate de que la política AdministratorAccess esté seleccionada y haz clic en Crear usuario para terminar de crear tu nuevo usuario IAM.

8. La creación del usuario IAM finaliza después de unos minutos y verás un mensaje de éxito en un banner.
Copia o descarga la contraseña en un lugar seguro porque la necesitarás para iniciar sesión como este nuevo usuario IAM más tarde.
Haz clic en la URL junto al mensaje para ir a la página de inicio de sesión del usuario IAM.
Haz clic en Cerrar para cerrar la ventana del mensaje.

9. En la siguiente página, ingresa el nombre de usuario y la contraseña que acabas de generar y haz clic en Iniciar sesión para iniciar sesión como tu nuevo usuario IAM.

Creando una Clave de KMS Usando la Consola de AWS
Ahora que has iniciado sesión en la Consola de Administración de AWS como tu usuario IAM, estás listo para crear tu primera clave de KMS.
Sigue estos pasos para crear una clave de KMS utilizando la consola de AWS.
1. Escribe KMS en la barra de búsqueda de Encontrar servicios. Selecciona Servicio de administración de claves en los resultados para abrir la consola de KMS.

2. Haz clic en “Customer managed keys” en la barra lateral izquierda > Crea una clave para crear una nueva clave KMS.

3. Realiza lo siguiente en la siguiente pantalla.
Tipo de clave: Selecciona Simétrica. Este tipo de clave es para cifrado y descifrado y funciona mejor para la mayoría de los casos de uso.
Uso de la clave: Selecciona Cifrado y descifrado. Este uso de clave te permite utilizar tu clave para cifrado y descifrado.
Mantén todas las demás configuraciones con sus valores predeterminados y haz clic en Siguiente.

4. Ingresa un Alias para tu clave. Este alias te ayudará a identificar rápidamente tu clave en la consola de KMS. El alias debe tener entre 1 y 256 caracteres y solo puede contener caracteres alfanuméricos, guiones (-) y guiones bajos (_).
El alias no puede comenzar con aws/ ya que este prefijo está reservado para claves gestionadas por AWS. Obtendrás el siguiente mensaje de error si intentas usar este prefijo.

Ingresa una Descripción para tu clave. Este campo es opcional, pero siempre es buena idea incluir una descripción para que puedas recordar el uso de la clave más tarde.
Mantén todas las demás configuraciones con sus valores predeterminados y haz clic en Siguiente para continuar.

5. Selecciona la casilla junto al usuario que creaste anteriormente, KMSUserConsole. Este usuario será el único que tendrá acceso para usar esta clave.
Mantén desmarcada la opción Permitir a los administradores de clave eliminar esta clave, ya que no querrás que nadie elimine tu clave.
Haz clic en Siguiente para continuar.

Selecciona el usuario que creaste anteriormente, KMSUserConsole, y haz clic en siguiente. Esta acción permite que tu usuario utilice la llave en operaciones criptográficas operaciones, como cifrar y descifrar datos.

7. Finalmente, haz clic en el botón de Finalizar para completar el proceso de creación de la llave.

Tu nueva llave KMS ahora aparecerá en la sección de llaves administradas por el cliente de la consola KMS. Puedes ver información sobre tu llave, como el estado, el ID de la llave, alias, etc.

Gestionando Llaves KMS Usando la Consola de AWS
Ahora que has creado una llave KMS, las siguientes secciones te muestran cómo gestionarlas usando la consola de AWS.
Editando una Llave KMS
Puedes editar una llave KMS en cualquier momento para cambiar sus ajustes. Para hacer esto, sigue estos pasos:
1. Haz clic en el hipervínculo de la llave que quieres editar. Esta acción abre la página de detalles de la llave.

2. Haz clic en el botón de Editar en la esquina superior derecha de la página.

3. Haz los cambios que quieras hacer a la llave y haz clic en Guardar. Debes saber que lo único que puedes cambiar es la descripción.

Deshabilitando y Habilitando una Llave KMS
Puedes deshabilitar y habilitar una llave KMS en cualquier momento. Por defecto, todas las llaves están habilitadas cuando se crean por primera vez. Supongamos que una llave pudo haber sido comprometida. Es una buena idea deshabilitar la llave hasta que investigues más a fondo.
1. Marca la casilla al lado de la llave que quieres deshabilitar y haz clic en Acciones de la llave → Deshabilitar.

2. Una ventana te pide que confirmes si deseas desactivar la tecla. Haz clic en la casilla junto a Confirmar que deseas desactivar esta tecla y luego en Desactivar.

La tecla ahora está desactivada y verás un mensaje en la página de detalles de la tecla. El estado de la tecla también cambiará a Desactivado, como se muestra a continuación.

3. Cuando tu investigación esté completa, puedes volver a habilitar una tecla y estarás listo para volver a usarla. Marca la casilla junto a la tecla que deseas habilitar → Acciones de tecla → Habilitar.

Creación de una Clave KMS Utilizando la AWS CLI
¡Gran fanático del uso de la AWS CLI? ¡Bien por ti! También puedes crear una clave KMS utilizando la AWS CLI. Esta sección te enseñará cómo crear un usuario IAM con acceso programático.
Después de crear el usuario, almacenarás las credenciales en un perfil de AWS. Interactuarás con AWS con ese perfil para crear una clave KMS.
Creación de un Usuario IAM con Acceso Programático
Necesitas un usuario IAM con acceso programático para autenticarte usando la AWS CLI sin contraseña. El acceso programático utiliza claves de acceso, una combinación de un ID de clave de acceso y una clave de acceso secreta para realizar llamadas a la API.
Sigue estos pasos para crear un usuario IAM con acceso programático
1. Crea un nuevo usuario IAM llamado KMSUserCli en la Consola de AWS. Consulta la sección Creación de un Usuario IAM anterior (pasos 1 a 4).
2. Cuando llegues a Seleccionar tipo de acceso de AWS, selecciona Acceso programático y haz clic en Siguiente: Permisos.

3. Selecciona Adjuntar directamente políticas existentes. Marca la casilla junto a AdministratorAccess y haz clic en Siguiente: Etiquetas.

4. Saltar la adición de etiquetas y hacer clic en Siguiente: Revisar.

5. Finalmente, haz clic en Crear usuario para crear el usuario.

Una vez que el proceso se complete, verás una pantalla similar a la siguiente, con el ID de clave de acceso y la clave de acceso secreta de tu nuevo usuario. Estas son las claves que usarás para configurar la AWS CLI. Asegúrate de guardar estas claves en un lugar seguro, ya que no podrás verlas nuevamente después de esta página.
¡No compartas esas claves en pipelines CI/CD públicos o comentarios en GitHub u otros foros públicos!

Configuración del Perfil de AWS CLI
Ahora que has creado un usuario IAM, necesitas configurar tu perfil de AWS en tu máquina para poder acceder al Servicio de Administración de Claves de AWS utilizando las credenciales de ese usuario.
Sigue estos pasos para configurar tu perfil de AWS:
1. Abre PowerShell o Command Prompt como administrador.
2. Ejecuta el siguiente comando para verificar si tienes instalada la AWS CLI. Verás algo similar a la captura de pantalla a continuación si está instalada.

3. Ahora, ejecuta el siguiente comando para configurar tu nuevo perfil.
4. En el indicador, ingresa la siguiente información.
- ID de clave de acceso de AWS: Ingresa el ID de clave de acceso para el usuario IAM que creaste anteriormente.
- Clave de acceso secreta de AWS: Ingresa la clave de acceso secreta para el usuario IAM que creaste anteriormente.
- Nombre de región predeterminado: Ingresa tu región preferida. Para este tutorial, usarás us-west-2.
- Formato de salida predeterminado: Ingresa JSON. El formato de salida JSON es más fácil de leer.

Creando una clave de KMS utilizando AWS CLI
Ahora que tienes un usuario IAM con acceso programático, puedes comenzar a crear una clave de KMS.
Ejecuta el siguiente comando para crear una nueva clave de KMS.
Verás una salida similar a la siguiente. El KeyId
es el identificador de tu nueva clave de KMS. Anótalo, ya que lo necesitarás más adelante.

Dado que no especificas explícitamente una política de clave, AWS KMS crea una política de clave predeterminada para la nueva clave. Esta política otorga control total de la clave al usuario raíz, incluida la capacidad de crear usuarios y roles de AWS Identity and Access Management (IAM).
Ejecuta el siguiente comando para recuperar la política de clave de tu nueva clave de KMS. Reemplaza el argumento --key-id
con el KeyId
real de tu nueva clave de KMS. Este comando devuelve un documento de texto que contiene la política de clave de tu nueva clave de KMS.
La salida debería verse algo como lo siguiente.

Gestionando claves de KMS utilizando AWS CLI
Ahora que has creado una clave KMS, puedes aprender cómo administrarla usando AWS CLI. Esta sección te enseñará cómo listar, deshabilitar y habilitar una clave KMS.
Puedes deshabilitar y habilitar una clave KMS en cualquier momento. Deshabilitar una clave KMS es útil cuando quieres investigar un posible uso indebido o si necesitas dejar de usar la clave temporalmente por cualquier otra razón.
1. Ejecuta el siguiente comando para deshabilitar una clave KMS. Reemplaza el argumento -key-id con el KeyId real de tu clave KMS. Este comando no tiene ninguna salida.

2. Para verificar que la clave está deshabilitada, ejecuta el siguiente comando. La salida debería incluir el campo “KeyState”: “Disabled”, como se muestra.

3. Para habilitar la clave, ejecuta el siguiente comando. Nuevamente, este comando no tiene ninguna salida.

4. Finalmente, ejecuta el siguiente comando para listar todas las claves KMS en tu cuenta. La salida incluye información como el keyId y KeyArn de cada clave.

Conclusión
En este artículo, aprendiste cómo crear y administrar claves KMS usando AWS CLI y la consola de AWS. También aprendiste cómo crear un usuario IAM con acceso programático permitiendo a AWS CLI administrar tus claves KMS.
La habilidad de gestión de claves de AWS es esencial para cualquiera que trabaje con AWS, especialmente si eres responsable de gestionar datos sensibles. Siguiendo los pasos de este artículo, ahora deberías tener las habilidades que necesitas para comenzar a usar AWS KMS.
Con este nuevo conocimiento, ¿por qué no crear recursos de AWS KMS con AWS CloudFormation para ahorrar tiempo y esfuerzo?