Introducción

Azure Key Vault es un servicio de Azure que permite a los usuarios almacenar y gestionar de manera segura secretos, claves de cifrado y certificados. Este servicio es esencial para proteger datos sensibles y gestionar el acceso a ellos de manera controlada y segura.

Objetivos de Aprendizaje

Al finalizar este tema, deberías ser capaz de:

  1. Comprender qué es Azure Key Vault y su importancia.
  2. Configurar un Key Vault en Azure.
  3. Almacenar y gestionar secretos, claves y certificados.
  4. Integrar Key Vault con otras aplicaciones y servicios de Azure.

¿Qué es Azure Key Vault?

Azure Key Vault es un servicio de administración de secretos que proporciona un almacenamiento seguro para claves, secretos y certificados. Permite a los desarrolladores y administradores de TI proteger datos confidenciales y gestionar el acceso a ellos de manera centralizada.

Características Clave

  • Almacenamiento seguro: Protege claves de cifrado y secretos mediante el uso de módulos de seguridad de hardware (HSM).
  • Gestión centralizada: Facilita la gestión de secretos y claves desde un único lugar.
  • Control de acceso: Utiliza Azure Active Directory (AAD) para controlar el acceso a los secretos.
  • Auditoría y monitoreo: Proporciona capacidades de auditoría y monitoreo para rastrear el uso de secretos y claves.

Configuración de Azure Key Vault

Paso 1: Crear un Key Vault

  1. Accede al portal de Azure: Inicia sesión en el portal de Azure.
  2. Crear un recurso: Haz clic en "Crear un recurso" en la esquina superior izquierda.
  3. Buscar Key Vault: Escribe "Key Vault" en la barra de búsqueda y selecciona "Key Vault" de los resultados.
  4. Configurar Key Vault:
    • Nombre: Introduce un nombre único para tu Key Vault.
    • Suscripción: Selecciona la suscripción de Azure que deseas usar.
    • Grupo de recursos: Selecciona un grupo de recursos existente o crea uno nuevo.
    • Ubicación: Selecciona la región donde deseas crear el Key Vault.
  5. Revisar y crear: Revisa la configuración y haz clic en "Crear".

Paso 2: Configurar el Acceso

  1. Acceder al Key Vault: Una vez creado, navega a tu Key Vault desde el portal de Azure.
  2. Control de acceso (IAM): En el menú de la izquierda, selecciona "Control de acceso (IAM)".
  3. Agregar un rol: Haz clic en "Agregar" y selecciona "Agregar asignación de rol".
    • Rol: Selecciona un rol adecuado (por ejemplo, "Lector de secretos de Key Vault").
    • Asignar acceso a: Selecciona "Usuario, grupo o entidad de servicio".
    • Seleccionar: Busca y selecciona el usuario o entidad de servicio que deseas asignar.

Gestión de Secretos, Claves y Certificados

Almacenar un Secreto

  1. Navegar a Secretos: En el menú de la izquierda, selecciona "Secretos".
  2. Agregar un secreto: Haz clic en "Generar/Importar".
    • Nombre: Introduce un nombre para el secreto.
    • Valor: Introduce el valor del secreto.
  3. Crear: Haz clic en "Crear" para almacenar el secreto.

Almacenar una Clave

  1. Navegar a Claves: En el menú de la izquierda, selecciona "Claves".
  2. Agregar una clave: Haz clic en "Generar/Importar".
    • Nombre: Introduce un nombre para la clave.
    • Opciones de clave: Selecciona "Generar" para crear una nueva clave o "Importar" para cargar una clave existente.
  3. Crear: Haz clic en "Crear" para almacenar la clave.

Almacenar un Certificado

  1. Navegar a Certificados: En el menú de la izquierda, selecciona "Certificados".
  2. Agregar un certificado: Haz clic en "Generar/Importar".
    • Nombre: Introduce un nombre para el certificado.
    • Método de emisión: Selecciona "Generar" para crear un nuevo certificado o "Importar" para cargar un certificado existente.
  3. Crear: Haz clic en "Crear" para almacenar el certificado.

Integración con Aplicaciones y Servicios

Azure Key Vault se puede integrar con diversas aplicaciones y servicios de Azure para mejorar la seguridad y la gestión de secretos. A continuación, se muestra un ejemplo de cómo integrar Key Vault con una aplicación web de Azure.

Ejemplo: Integración con una Aplicación Web de Azure

  1. Crear una Aplicación Web: Crea una aplicación web en Azure siguiendo los pasos estándar.
  2. Asignar Permisos: Asegúrate de que la aplicación web tenga permisos para acceder al Key Vault.
    • Navega a tu Key Vault y selecciona "Control de acceso (IAM)".
    • Agrega una asignación de rol para la aplicación web con el rol "Lector de secretos de Key Vault".
  3. Configurar la Aplicación Web: Modifica el código de tu aplicación web para acceder a los secretos almacenados en Key Vault.
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

var client = new SecretClient(new Uri("https://<your-key-vault-name>.vault.azure.net/"), new DefaultAzureCredential());
KeyVaultSecret secret = client.GetSecret("<your-secret-name>");
string secretValue = secret.Value;

Ejercicio Práctico

Ejercicio 1: Crear y Configurar un Key Vault

  1. Crear un Key Vault: Sigue los pasos mencionados anteriormente para crear un Key Vault.
  2. Almacenar un Secreto: Almacena un secreto en el Key Vault con el nombre "MySecret" y el valor "MySecretValue".
  3. Asignar Permisos: Asigna permisos a un usuario o entidad de servicio para acceder al secreto.

Ejercicio 2: Integrar Key Vault con una Aplicación Web

  1. Crear una Aplicación Web: Crea una aplicación web en Azure.
  2. Asignar Permisos: Asigna permisos a la aplicación web para acceder al Key Vault.
  3. Modificar el Código: Modifica el código de la aplicación web para leer el secreto "MySecret" desde el Key Vault y mostrar su valor en la página web.

Soluciones

Solución al Ejercicio 1

  1. Crear un Key Vault: Sigue los pasos detallados en la sección "Configuración de Azure Key Vault".
  2. Almacenar un Secreto:
    • Navega a "Secretos" en tu Key Vault.
    • Haz clic en "Generar/Importar".
    • Introduce "MySecret" como nombre y "MySecretValue" como valor.
    • Haz clic en "Crear".
  3. Asignar Permisos:
    • Navega a "Control de acceso (IAM)" en tu Key Vault.
    • Haz clic en "Agregar" y selecciona "Agregar asignación de rol".
    • Selecciona el rol "Lector de secretos de Key Vault".
    • Busca y selecciona el usuario o entidad de servicio.
    • Haz clic en "Guardar".

Solución al Ejercicio 2

  1. Crear una Aplicación Web: Sigue los pasos estándar en el portal de Azure para crear una aplicación web.
  2. Asignar Permisos:
    • Navega a "Control de acceso (IAM)" en tu Key Vault.
    • Haz clic en "Agregar" y selecciona "Agregar asignación de rol".
    • Selecciona el rol "Lector de secretos de Key Vault".
    • Busca y selecciona la aplicación web.
    • Haz clic en "Guardar".
  3. Modificar el Código:
    • Utiliza el siguiente código en tu aplicación web para leer el secreto "MySecret" desde el Key Vault:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

var client = new SecretClient(new Uri("https://<your-key-vault-name>.vault.azure.net/"), new DefaultAzureCredential());
KeyVaultSecret secret = client.GetSecret("MySecret");
string secretValue = secret.Value;
Console.WriteLine($"The value of MySecret is: {secretValue}");

Conclusión

En esta sección, hemos aprendido sobre Azure Key Vault, su importancia y cómo configurarlo. También hemos visto cómo almacenar y gestionar secretos, claves y certificados, y cómo integrar Key Vault con otras aplicaciones y servicios de Azure. Con estos conocimientos, estarás mejor preparado para proteger datos sensibles y gestionar el acceso a ellos de manera segura en tus aplicaciones y servicios de Azure.

© Copyright 2024. Todos los derechos reservados