Guía del desarrollador de Azure Key Vault
Azure Key Vault le permite acceder de forma segura a información confidencial desde sus aplicaciones:
- Las claves, los secretos y los certificados estarán protegidos sin que tenga que escribir el código y puede usarlos fácilmente en sus aplicaciones.
- Permite a los clientes poseer y administrar sus propios secretos, claves y certificados, para poder así concentrarse en proporcionar las características de software principales. De este modo, las aplicaciones no serán responsables de las claves, secretos y certificados del inquilino de sus clientes.
- La aplicación puede usar claves para la firma y el cifrado, pero también mantiene la opción de administrar de forma externa las claves de la aplicación. Para más información, consulte Acerca de las claves.
- Puede administrar credenciales, como contraseñas, claves de acceso y tokens de SAS almacenándolas en Key Vault como secretos. Para más información, consulte Acerca de los secretos.
- Administrar certificados. Para más información, consulte Acerca de los certificados.
Para obtener información general sobre Azure Key Vault, consulte Acerca de Azure Key Vault.
Versiones preliminares públicas
Periódicamente se publica una versión preliminar pública de una nueva característica de Key Vault. Pruebe las características de la versión preliminar públicas y díganos lo que piensa a través de nuestra dirección de correo electrónico para enviar comentarios, azurekeyvault@microsoft.com.
Creación y administración de almacenes de claves
Igual que sucede con otros servicios de Azure, Key Vault se administra mediante Azure Resource Manager. Azure Resource Manager es el servicio de implementación y administración para Azure. Puede usarlo para crear, actualizar y eliminar recursos en su cuenta de Azure.
El control de acceso basado en roles (RBAC) de Azure controla el acceso a la capa de administración, también conocida como plano de administración. El plano de administración se usa en Key Vault para crear y administrar almacenes de claves y sus atributos, incluidas las directivas de acceso. Puede usar el plano de datos para administrar claves, certificados y secretos.
Asimismo, puede usar el rol de colaborador de Key Vault predefinido para conceder acceso de administración a Key Vault.
API y SDK para la administración del almacén de claves
Azure CLI | PowerShell | API DE REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia | Referencia Guía de inicio rápido |
Referencia | Referencia | Referencia | Referencia |
Consulte las Bibliotecas de cliente para ver los paquetes de instalación y el código fuente.
Autenticación en Key Vault mediante el código
Key Vault usa la autenticación de Microsoft Entra, que requiere una entidad 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
Se recomienda usar la identidad administrada para las aplicaciones implementadas en Azure. Si usa servicios de Azure que no admitan identidades administradas o si las aplicaciones se implementan de forma local, la entidad de servicio con un certificado es una alternativa posible. En ese escenario, el certificado se debe almacenar en Key Vault y se debe rotar a menudo.
Use una entidad de servicio con un secreto para entornos de desarrollo y pruebas. Use una entidad de seguridad de usuario para el desarrollo local y Azure Cloud Shell.
Se recomiendan estas entidades de seguridad en cada entorno:
- Entorno de producción: identidad administrada o entidad de servicio con un certificado.
- Entornos de desarrollo y pruebas: identidad administrada, entidad de servicio con un certificado o entidad de servicio con un secreto.
- Desarrollo local: entidad de seguridad de usuario o entidad de servicio con un secreto.
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 en el 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 acerca de la biblioteca cliente de Azure Identity, consulte:
.NET | Python | Java | JavaScript |
---|---|---|---|
SDK .NET de Azure Identity | SDK Python de Azure Identity | SDK Java de Azure Identity | SDK JavaScript de Azure Identity |
Nota:
Se recomienda la biblioteca de autenticación de aplicaciones para la versión 3 del SDK de .NET de Key Vault, pero ahora está en desuso. Para migrar al SDK de .NET de Key Vault, versión 4, siga las instrucciones de migración de AppAuthentication a Azure.Identity.
Para ver tutoriales sobre la autenticación en Key Vault en las aplicaciones, consulte:
- Uso de Azure Key Vault con una máquina virtual en .NET
- Uso de Azure Key Vault con una máquina virtual en Python
- Tutorial: Uso de una identidad administrada para conectar Key Vault a una aplicación web de Azure en .NET
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 actualización de características de Key Vault mediante 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.
El plano de datos controla el acceso a claves, certificados y secretos. Puede usar directivas de acceso del almacén local o RBAC de Azure para el control de acceso a través del plano de datos.
API y SDK para claves
Azure CLI | PowerShell | API DE REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia | Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Otras bibliotecas
Cliente de criptografía para Key Vault y HSM administrado
En este módulo se proporciona un cliente de criptografía para el módulo cliente claves de Azure Key Vault para Go.
Nota:
El equipo del SDK de Azure no admite este proyecto, pero se alinea con los clientes de criptografía en otros lenguajes admitidos.
Idioma | Referencia |
---|---|
Go | Referencia |
API y SDK para certificados
Azure CLI | PowerShell | API DE REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia | N/D | Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
API y SDK para secretos
Azure CLI | PowerShell | API DE REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia | Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Referencia Guía de inicio rápido |
Uso de secretos
Use Azure Key Vault para almacenar solo secretos para su aplicación. Los ejemplos de secretos que se deben almacenar en Key Vault incluyen:
- Secretos de aplicación cliente
- Cadenas de conexión
- Contraseñas
- Claves de acceso compartidas
- Claves SSH
Asimismo, cualquier información relacionada con los secretos, como los nombres de usuario o los id. de aplicaciones, se puede almacenar como una etiqueta en el secreto. Para realizar cualquier otra configuración de información confidencial, debe usar Azure App Configuration.
Referencias
Consulte las Bibliotecas de cliente para ver los paquetes de instalación y el código fuente.
Para obtener más información sobre la seguridad del plano de datos de Key Vault, consulte Características de seguridad de Azure Key Vault.
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 de REST se actualizan a medida que se presentan nuevas características para el producto; recuerde que siguen los procedimientos recomendados y las instrucciones.
En escenarios básicos, existen otras bibliotecas y soluciones de integración para un uso simplificado, con soporte proporcionado por asociados de Microsoft o comunidades de código abierto.
Para los certificados, puede usar:
- La extensión de máquina virtual (VM) de Key Vault, que proporciona la actualización automática de los certificados almacenados en una instancia de Azure Key Vault. Para más información, consulte:
- Integración con Azure App Service, que puede importar y actualizar automáticamente certificados desde Key Vault. Para obtener más información, consulte Importación de un certificado desde Key Vault.
Para los secretos, puede usar:
- Secretos de Key Vault con la configuración de la aplicación de App Service. Para más información, consulte Uso de referencias de Key Vault para App Service y Azure Functions.
- Referencias de Key Vault con Azure App Configuration para simplificar el acceso de la aplicación a la configuración y los secretos. Para más información, consulte Uso de referencias de Key Vault en Azure App Configuration.
Ejemplos de código
Para obtener ejemplos completos del uso de Key Vault con aplicaciones, consulte Ejemplos de código de Azure Key Vault.
Guía específica de tareas
Los artículos y escenarios siguientes proporcionan instrucciones específicas de tarea sobre cómo trabajar con Azure Key Vault:
- Para acceder al almacén de claves, es preciso que la aplicación cliente pueda acceder a varios puntos de conexión para diversas funcionalidades. Consulte Acceso a Key Vault detrás de un firewall.
- Una aplicación en la nube que se ejecuta en una VM de Azure necesita un certificado. ¿Cómo se obtiene este certificado en esta VM? Consulte Extensión de máquina virtual de Key Vault para Windows o Extensión de máquina virtual de Key Vault para Linux.
- Para asignar una directiva de acceso mediante el CLI de Azure, PowerShell o Azure Portal, consulte Asignación de una directiva de acceso de Key Vault.
- Para obtener instrucciones sobre el uso y ciclo de vida de un almacén de claves y varios objetos del almacén de claves con la opción de eliminación automática habilitada, consulte Administración de recuperación de Azure Key Vault con eliminación automática y protección ante purgas.
- Cuando necesite pasar un valor seguro (como una contraseña) como parámetro durante la implementación, puede almacenar ese valor como secreto en un almacén de claves y hacer referencia al valor en otras plantillas de Resource Manager. Consulte Uso de Azure Key Vault para pasar el valor de parámetro seguro durante la implementación.
Integración con Key Vault
Los siguientes servicios y escenarios usan o se integran con Key Vault:
- El cifrado en reposo permite la codificación (cifrado) de datos cuando se conserva. Las claves de cifrado de datos se cifran a menudo con la clave de cifrado de claves en Azure Key Vault para limitar aún más el acceso.
- Azure Information Protection le permite administrar su propia clave de inquilino. Por ejemplo, en lugar de que Microsoft administre su clave de inquilino (la opción predeterminada), puede administrar su propia clave de inquilino para cumplir con las normas específicas que se aplican a su organización. Administrar su propia clave de inquilino también se denomina bring your own key (BYOK).
- Azure Private Link le permite acceder a los servicios de Azure (por ejemplo, Azure Key Vault, Azure Storage y Azure Cosmos DB) y a los servicios de asociados o clientes hospedados de Azure mediante un punto de conexión privado de la red virtual.
- La integración de Key Vault con Azure Event Grid permite a los usuarios recibir una notificación cuando cambia el estado de un secreto almacenado en Key Vault. Puede distribuir la nueva versión de los secretos en las aplicaciones, o cambiar los secretos que estén a punto de expirar para evitar interrupciones.
- Puede proteger los secretos de Azure DevOps de accesos no deseados 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.
Conceptos y datos globales de Key Vault
Para obtener información acerca de cómo:
- Usar una característica que permite la recuperación de objetos eliminados tanto si dicha eliminación ha sido accidental como intencionada, consulte Comportamiento de eliminación temporal de Key Vault.
- Los conceptos básicos de limitación y obtención de un enfoque para su aplicación, consulte la Guía de limitación de Azure Key Vault.
- Las relaciones entre regiones y áreas de seguridad, consulte los Mundos de seguridad y límites geográficos de Azure Key Vault.