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:
- Comprender qué es Azure Key Vault y su importancia.
- Configurar un Key Vault en Azure.
- Almacenar y gestionar secretos, claves y certificados.
- 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
- Accede al portal de Azure: Inicia sesión en el portal de Azure.
- Crear un recurso: Haz clic en "Crear un recurso" en la esquina superior izquierda.
- Buscar Key Vault: Escribe "Key Vault" en la barra de búsqueda y selecciona "Key Vault" de los resultados.
- 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.
- Revisar y crear: Revisa la configuración y haz clic en "Crear".
Paso 2: Configurar el Acceso
- Acceder al Key Vault: Una vez creado, navega a tu Key Vault desde el portal de Azure.
- Control de acceso (IAM): En el menú de la izquierda, selecciona "Control de acceso (IAM)".
- 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
- Navegar a Secretos: En el menú de la izquierda, selecciona "Secretos".
- Agregar un secreto: Haz clic en "Generar/Importar".
- Nombre: Introduce un nombre para el secreto.
- Valor: Introduce el valor del secreto.
- Crear: Haz clic en "Crear" para almacenar el secreto.
Almacenar una Clave
- Navegar a Claves: En el menú de la izquierda, selecciona "Claves".
- 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.
- Crear: Haz clic en "Crear" para almacenar la clave.
Almacenar un Certificado
- Navegar a Certificados: En el menú de la izquierda, selecciona "Certificados".
- 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.
- 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
- Crear una Aplicación Web: Crea una aplicación web en Azure siguiendo los pasos estándar.
- 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".
- 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
- Crear un Key Vault: Sigue los pasos mencionados anteriormente para crear un Key Vault.
- Almacenar un Secreto: Almacena un secreto en el Key Vault con el nombre "MySecret" y el valor "MySecretValue".
- 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
- Crear una Aplicación Web: Crea una aplicación web en Azure.
- Asignar Permisos: Asigna permisos a la aplicación web para acceder al Key Vault.
- 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
- Crear un Key Vault: Sigue los pasos detallados en la sección "Configuración de Azure Key Vault".
- 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".
- 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
- Crear una Aplicación Web: Sigue los pasos estándar en el portal de Azure para crear una aplicación web.
- 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".
- 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.
Curso de Azure
Módulo 1: Introducción a Azure
- ¿Qué es Azure?
- Configuración de la cuenta de Azure
- Descripción general del portal de Azure
- Administrador de recursos de Azure
Módulo 2: Servicios principales de Azure
- Máquinas virtuales de Azure
- Servicios de aplicaciones de Azure
- Almacenamiento de Azure
- Redes de Azure
Módulo 3: Bases de datos de Azure
- Base de datos SQL de Azure
- Azure Cosmos DB
- Base de datos de Azure para MySQL
- Base de datos de Azure para PostgreSQL
Módulo 4: Seguridad en Azure
- Gestión de identidad y acceso de Azure
- Centro de seguridad de Azure
- Azure Key Vault
- Protección DDoS de Azure
Módulo 5: Azure DevOps
Módulo 6: Servicios avanzados de Azure
- Servicio de Kubernetes de Azure (AKS)
- Funciones de Azure
- Aplicaciones lógicas de Azure
- Servicios cognitivos de Azure
Módulo 7: Monitoreo y gestión
- Monitor de Azure
- Análisis de registros de Azure
- Información de aplicaciones de Azure
- Automatización de Azure