Guía de Claves Gestionadas por el Cliente (CMK) en Azure Storage
Aprende a implementar Customer-Managed Keys (CMK) en Azure Storage para un control total del cifrado. Descubre requisitos, roles de acceso y mejores prácticas de seguridad.
Azure Storage cifra automáticamente los datos en reposo mediante Storage Service Encryption (SSE).
Este mecanismo protege la información almacenada sin que los usuarios tengan que realizar configuraciones adicionales.
Sin embargo, algunas organizaciones necesitan un mayor nivel de control sobre las claves utilizadas para el cifrado.
En estos casos se pueden utilizar Customer‑Managed Keys (CMK), que permiten gestionar las claves desde Azure Key Vault o Azure Key Vault Managed HSM.
Con este enfoque, la clave gestionada por el cliente no cifra directamente los datos, sino que protege la clave que realiza el cifrado real.
Esto añade una capa adicional de control y gobernanza sobre la seguridad de la información.
Características principales
El uso de Customer‑Managed Keys en Azure Storage ofrece varias capacidades relevantes:
• Los datos en reposo siguen cifrándose mediante Storage Service Encryption (SSE).
• Integración con Managed Identities para una autenticación segura entre servicios.
• Posibilidad de implementar configuraciones entre distintos tenants de Microsoft Entra.
Estas características permiten adaptar el cifrado a entornos empresariales con requisitos avanzados de seguridad y cumplimiento.
Opciones de implementación
Existen diferentes formas de implementar CMK dependiendo de la arquitectura y de cómo estén organizados los recursos.
Key Vault y Storage Account en el mismo tenant
Cuando ambos recursos se encuentran dentro del mismo tenant de Microsoft Entra, la configuración es relativamente directa.
• Para nuevas Storage Accounts es obligatorio usar una User‑Assigned Managed Identity.
• Para cuentas existentes se puede utilizar:
User‑Assigned Managed Identity
System‑Assigned Managed Identity
Key Vault y Storage Account en tenants distintos
También es posible almacenar la clave en un tenant diferente.
En estos casos se deben conceder permisos explícitos en el Key Vault para permitir el acceso desde el otro tenant.
Uso de Azure Key Vault Managed HSM
Las claves también pueden almacenarse en un Managed Hardware Security Module.
En este escenario la gestión de permisos se realiza exclusivamente mediante Azure RBAC, ya que Managed HSM no admite las políticas de acceso tradicionales.
Comportamiento del cifrado
El cifrado de los datos permanece activo en todo momento, incluso cuando se cambia entre claves gestionadas por Microsoft (MMK) y claves gestionadas por el cliente (CMK).
La protección mediante CMK se aplica de forma inmediata después de configurarse, sin necesidad de realizar operaciones adicionales sobre los datos.
Además, es posible cambiar entre MMK y CMK según las necesidades de seguridad o cumplimiento.
Requisitos técnicos
Para utilizar Customer‑Managed Keys en Azure Storage deben cumplirse ciertos requisitos:
• Soft Delete habilitado en Key Vault
• Purge Protection habilitado
• Uso de claves RSA o RSA‑HSM
Los tamaños de clave soportados son:
• 2048 bits
• 3072 bits
• 4096 bits
No se admiten claves simétricas en este escenario.
Escenarios recomendados
El uso de CMK es especialmente útil en contextos donde el control sobre las claves es crítico.
Cumplimiento normativo
Organizaciones sujetas a regulaciones como GDPR, HIPAA o ISO 27001 suelen requerir control directo sobre la gestión de claves.
Control de acceso a las claves
Permite restringir quién puede utilizar las claves de cifrado y aplicar políticas de seguridad más estrictas.
Rotación de claves personalizada
Las organizaciones pueden definir sus propias políticas de rotación para reducir riesgos de exposición.
Arquitecturas multi‑tenant
CMK permite almacenar claves y recursos de almacenamiento en distintos tenants o suscripciones.
Roles y permisos necesarios
Para implementar correctamente CMK en Azure Storage es necesario asignar ciertos roles.
Roles principales:
Storage Account Contributor
Permite configurar el cifrado mediante CMK en la Storage Account.
Key Vault Administrator
Permite crear y gestionar claves dentro de Azure Key Vault o Managed HSM.
Managed Identity Contributor
Permite asignar identidades gestionadas a la Storage Account.
User Access Administrator
Permite otorgar permisos entre recursos, especialmente en escenarios cross‑tenant.
Managed Identities y acceso a las claves
Azure Storage utiliza Managed Identities para acceder a las claves almacenadas en Key Vault.
Tipos de Managed Identity disponibles:
- System‑assigned
• User‑assigned
La identidad asociada a la Storage Account debe tener permisos específicos en Key Vault:
- wrapKey – cifrar la clave raíz de los datos
• unwrapKey – descifrar la clave raíz
• get – consultar información sobre la clave
Cuando Key Vault utiliza Azure RBAC, el rol necesario es:
Key Vault Crypto User
Este rol permite ejecutar operaciones criptográficas con las claves almacenadas.
Limitaciones conocidas
El uso de Customer‑Managed Keys presenta algunas limitaciones importantes:
- Solo están disponibles para Blob Storage y Azure Files.
- No están soportadas en Tables ni Queues.
- Algunas configuraciones de Premium Storage no admiten CMK.
- La Storage Account debe tener una Managed Identity configurada.
- Solo se admiten claves RSA.
Buenas prácticas
Para mejorar la seguridad y el control operativo se recomienda:
- Activar la rotación automática de claves en Azure Key Vault.
- Utilizar Azure Key Vault Managed HSM cuando se requiera certificación FIPS 140‑2 Level 3.
- Configurar alertas para detectar accesos no autorizados a las claves.
- Monitorizar la latencia de Key Vault en cargas críticas.
- Aplicar Azure Policy para exigir el uso de CMK en nuevas Storage Accounts.
Recursos relacionados
Productos y servicios relacionados con esta arquitectura:
- Azure Key Vault
- Azure Storage Account
- Azure Managed Identity
- Azure Policy
Estos componentes forman la base de una estrategia robusta de gestión de claves en entornos Azure.