guía del desarrollador de Azure Key Vault

Azure Key Vault es un servicio en la nube que proporciona almacenamiento seguro y administración de claves criptográficas, secretos y certificados. Esta guía ayuda a los desarrolladores a integrar Key Vault en sus aplicaciones.

Información general

Azure Key Vault le permite:

  • Almacenamiento seguro: proteja las claves, los secretos y los certificados sin escribir código de seguridad personalizado.
  • Administración simplificada de claves: centralice las operaciones criptográficas y la administración del ciclo de vida de las claves.
  • Claves propiedad del cliente: permite a los clientes administrar sus propias claves mientras se centra en las características principales de la aplicación.
  • Administración de claves externas: use claves para firmar y cifrar, a la vez que las mantiene externas a la aplicación.

Para obtener información general sobre Azure Key Vault, consulte About Azure Key Vault.

Escenarios de desarrollador

Entre las tareas comunes para desarrolladores con Key Vault se incluyen:

  • Almacenar y recuperar secretos: administre de forma segura las cadenas de conexión, las contraseñas, las claves de API y los tokens de SAS. Para más información, consulte Acerca de los secretos.
  • Usar claves para el cifrado y la firma: realice operaciones criptográficas sin exponer material de clave a la aplicación. Para más información, consulte Acerca de las claves.
  • Administrar certificados: automatice el aprovisionamiento, la renovación y la implementación de certificados para SSL/TLS. Para más información, consulte Acerca de los certificados.

Versiones preliminares públicas

Microsoft publica periódicamente versiones preliminares públicas de las nuevas características de Key Vault. Para probar las características en versión preliminar y proporcionar comentarios, póngase en contacto con el equipo en azurekeyvault@microsoft.com. Para obtener información sobre las últimas características y actualizaciones, consulte Novedades de Azure Key Vault.

Creación y administración de almacenes de claves

Key Vault usa un modelo de acceso de dos planos:

Use el rol predefinido Key Vault Colaborador para conceder acceso de administración a los recursos de Key Vault. Para obtener más información sobre la autenticación y autorización, consulte Authentication en Azure Key Vault.

Seguridad de red

Reduzca la exposición de red mediante la configuración de puntos de conexión privados, firewalls o puntos de conexión de servicio. Para obtener instrucciones completas sobre seguridad de red, incluidas las opciones de configuración de más a menos restrictivas, consulte Proteja su Azure Key Vault: Seguridad de red y Configurar los ajustes de red de Azure Key Vault.

API y SDK para la administración del almacén de claves

En la tabla siguiente se enumeran los SDKs y las guías de inicio rápido para administrar los recursos de Key Vault (operaciones del plano de control). Para obtener las últimas versiones e instrucciones de instalación, consulte Bibliotecas cliente.

CLI de Azure PowerShell REST API Administrador de Recursos .NET Python Java JavaScript
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia Referencia
Inicio rápido
Referencia Referencia Referencia Referencia

Autenticación en Key Vault mediante el código

Key Vault utiliza la autenticación de Microsoft Entra, que requiere un principal de seguridad de Microsoft Entra para conceder acceso. Una entidad de seguridad de Microsoft Entra puede ser un usuario, una entidad de servicio de aplicación, una identidad administrada para recursos de Azure o un grupo de cualquier tipo.

Procedimientos recomendados de autenticación

En el caso de las aplicaciones implementadas en Azure, use identidades administradas para eliminar la necesidad de almacenar credenciales en el código. Para obtener instrucciones de autenticación detalladas y recomendaciones de principal de seguridad para distintos entornos (producción, desarrollo, locales), consulte Autenticación en Azure Key Vault y Proteja Azure Key Vault.

bibliotecas cliente de Azure Identity

Los escenarios de autenticación anteriores son compatibles con la biblioteca cliente de Azure Identity y se integran con los SDK de Key Vault. Puede usar la biblioteca cliente de Azure Identity en entornos y plataformas sin cambiar el código. La biblioteca recupera automáticamente los tokens de autenticación de los usuarios que han iniciado sesión como usuario de Azure a través de la CLI de Azure, Visual Studio, Visual Studio Code y otros medios.

Para obtener más información sobre la biblioteca cliente de Azure Identity, consulte:

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java SDK de Identidad de Azure para JavaScript

Nota:

Se recomienda Biblioteca de autenticación de aplicaciones para Key Vault .NET SDK versión 3, pero ahora está en desuso. Para migrar a Key Vault .NET SDK versión 4, siga la guía de migración de AppAuthentication a Azure.Identity.

Para ver tutoriales sobre cómo autenticarse en Key Vault en aplicaciones, consulte:

Administración de claves, certificados y secretos

Nota:

Los SDK para .NET, Python, Java, JavaScript, PowerShell y la CLI de Azure forman parte del proceso de versión de características de Key Vault a través de la versión preliminar pública y la disponibilidad general con el soporte técnico del equipo de servicio de Key Vault. Hay disponibles otros clientes de SDK para Key Vault, pero se crean y admiten equipos de SDK individuales en GitHub y se publican en su programación de equipos. Para ver las versiones más recientes del SDK y los paquetes de instalación, consulte Bibliotecas cliente.

El plano de datos controla el acceso a claves, certificados y secretos. Puede usar Azure RBAC con Key Vault para el control de acceso a través del plano de datos.

API y SDK para claves

En la tabla siguiente se enumeran los SDK y los inicios rápidos para trabajar con claves (operaciones del plano de datos). Para obtener más información sobre las claves, consulte Acerca de las claves.

CLI de Azure PowerShell REST API Administrador de Recursos .NET Python Java JavaScript
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido

Otras bibliotecas

Cliente de criptografía para Key Vault y HSM administrado

Este módulo proporciona un cliente de criptografía para el módulo cliente de claves de Azure Key Vault para Go.

Nota:

El equipo de SDK de Azure no admite este proyecto, pero se alinea con los clientes de criptografía en otros idiomas admitidos.

Language Referencia
Go Referencia

API y SDK para certificados

En la tabla siguiente se enumeran los SDK y los inicios rápidos para trabajar con certificados (operaciones del plano de datos). Para obtener más información sobre los certificados, consulte Acerca de los certificados.

CLI de Azure PowerShell REST API Administrador de Recursos .NET Python Java JavaScript
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia N/A Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido

API y SDK para secretos

En la tabla siguiente se enumeran los SDK y los inicios rápidos para trabajar con secretos (operaciones del plano de datos). Para obtener más información sobre los secretos, consulte Acerca de los secretos.

CLI de Azure PowerShell REST API Administrador de Recursos .NET Python Java JavaScript
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido
Referencia
Inicio rápido

Uso de secretos

Usa Azure Key Vault para almacenar solo secretos para tu aplicación. Algunos ejemplos de secretos que se deben almacenar en Key Vault incluyen:

  • Secretos de aplicación cliente
  • Cadenas de conexión
  • Passwords
  • Claves de acceso compartido
  • Claves SSH

Cualquier información relacionada con secretos, como los nombres de usuario y los identificadores de aplicación, se puede almacenar como una etiqueta en un secreto. Para cualquier otra configuración confidencial, debe usar Azure App Configuration.

Para obtener paquetes de instalación y código fuente, consulte Bibliotecas cliente.

Uso de Key Vault en aplicaciones

Para aprovechar las características más recientes de Key Vault, se recomienda usar los SDK de Key Vault disponibles para usar secretos, certificados y claves en la aplicación. Los SDK de Key Vault y la API REST se actualizan a medida que se publican nuevas características para el producto y siguen los procedimientos recomendados y las directrices.

En escenarios básicos, hay otras bibliotecas y soluciones de integración para un uso simplificado, con compatibilidad proporcionada por asociados de Microsoft o comunidades de código abierto.

En el caso de los certificados, puede usar:

En el caso de los secretos, puede usar:

Ejemplos de código

Para obtener ejemplos completos de uso de Key Vault con aplicaciones, consulte Azure Key Vault ejemplos de código.

Instrucciones específicas de la tarea

Los siguientes artículos y escenarios proporcionan instrucciones específicas de tareas para trabajar con Azure Key Vault:

Integración con Key Vault

Los siguientes servicios y escenarios usan o integran con Key Vault:

  • El cifrado en reposo permite la codificación (cifrado) de datos cuando se conservan. Las claves de cifrado de datos a menudo se cifran con una clave de cifrado de claves en Azure Key Vault para limitar aún más el acceso.
  • Azure Information Protection permite administrar su propia clave de inquilino. Por ejemplo, en lugar de Microsoft administrar la clave de inquilino (valor predeterminado), puede administrar su propia clave de inquilino para cumplir con las regulaciones específicas que se aplican a su organización. La administración de su propia clave de inquilino también se denomina bring your own key (BYOK).
  • Azure Private Link le permite acceder a servicios de Azure (por ejemplo, Azure Key Vault, Azure Storage y Azure Cosmos DB) y a servicios hospedados en Azure por clientes o socios a través de un punto de conexión privado en su red virtual.
  • Key Vault integración con Azure Event Grid permite a los usuarios recibir notificaciones cuando el estado de un secreto almacenado en Key Vault ha cambiado. Puede distribuir nuevas versiones de secretos a las aplicaciones o rotar secretos que están a punto de expirar para evitar interrupciones.
  • Proteja los secretos de Azure DevOps del acceso no deseado en Key Vault.
  • Use secretos almacenados en Key Vault para conectarse a Azure Storage desde Azure Databricks.
  • Configure y ejecute el proveedor de Azure Key Vault correspondiente al controlador Secrets Store CSI en Kubernetes.

Recuperación ante desastres y continuidad empresarial

Key Vault proporciona recuperación ante desastres integrada con replicación regional automática. En el caso de las implementaciones de producción, habilite la eliminación temporal y la protección contra purgas e implemente copias de seguridad periódicas. Para obtener más información, consulte Azure Key Vault disponibilidad y redundancia, Azure Key Vault administración de recuperación y Azure Key Vault copia de seguridad.

Rendimiento y escalabilidad

Al desarrollar aplicaciones que usan Key Vault, tenga en cuenta los siguientes procedimientos recomendados de rendimiento y escalabilidad:

  • Límites de servicio: Key Vault tiene límites de servicio para transacciones por almacén y por región. Si se superan estos límites, se produce una limitación. Para obtener más información, consulte Azure Key Vault límites de servicio.
  • Guía de limitaciones: implemente la lógica de reintento con retroceso exponencial para manejar las respuestas de restricción. Para más información, consulte la guíade limitación de Azure Key Vault.
  • Caching: almacenar en caché secretos y certificados en la aplicación para reducir las llamadas a Key Vault y mejorar el rendimiento.
  • Administración de conexiones: Reutilización de conexiones HTTP a Key Vault siempre que sea posible para reducir la latencia y mejorar el rendimiento.

Supervisión y registro

Habilite el registro y la supervisión para la seguridad, el cumplimiento y la solución de problemas. Configure las opciones de diagnóstico, las notificaciones de Event Grid y las alertas para eventos críticos. Para obtener instrucciones detalladas, consulte Monitor Azure Key Vault, Registro de Azure Key Vault, Monitorización de Key Vault con Azure Event Grid y Proteja su Azure Key Vault: Registro y Detección de amenazas.

Parámetros comunes y patrones de solicitud

Al trabajar con la API rest de Key Vault, resulta útil comprender los parámetros comunes y los patrones de solicitud y respuesta:

  • API versiones: Key Vault usa API con versiones. Especifique siempre la versión de la API en las solicitudes.
  • Solicitudes de autenticación: comprenda cómo se adquieren y usan los tokens de autenticación, incluidos los encabezados de solicitud comunes y los formatos de respuesta. Para obtener más información, consulte Autenticación, solicitudes y respuestas.
  • Códigos de error: familiarícese con los códigos de error comunes de la API REST para controlar los errores correctamente. Para obtener más información, consulte Azure Key Vault códigos de error de la API REST.

Solución de problemas

Para obtener ayuda para resolver problemas comunes:

  • Errores de acceso denegado: verifique sus credenciales de autenticación y que su entidad de seguridad tenga los permisos necesarios a través de asignaciones de RBAC. Consulte Azure RBAC para las operaciones del plano de datos de Key Vault.
  • Conectividad de red: si accede a Key Vault desde detrás de un firewall, asegúrese de que se puede acceder a los puntos de conexión necesarios. Consulte Accediendo a Key Vault detrás de un firewall.
  • Limitación: si recibe respuestas 429 (demasiadas solicitudes), implemente el retroceso exponencial. Consulta la guíade limitación de Azure Key Vault.

Procedimientos recomendados de seguridad

Para obtener instrucciones de seguridad completas, como la administración de identidades y acceso, la protección de datos, el cumplimiento, la gobernanza y las estrategias de copia de seguridad, consulte Secure su Azure Key Vault.

Recursos adicionales

conceptos de Key Vault

Administración y operaciones

Comunidad y soporte técnico

  • Microsoft Q& A- Formular preguntas y obtener respuestas de la comunidad.
  • Stack Overflow para Key Vault - Preguntas y respuestas técnicas de desarrolladores.
  • Azure Feedback - Envía solicitudes de funcionalidades y comentarios.