¿Qué es Azure Key Vault?

Completado

Azure Key Vault es un almacén de secretos: un servicio en la nube centralizado para almacenar secretos de aplicación; valores de configuración como contraseñas y cadenas de conexión que deben estar protegidos en todo momento. Para ayudar a controlar los secretos de aplicación, Key Vault los mantiene en una sola ubicación central y proporciona acceso seguro, control de permisos y registro de acceso.

Las principales ventajas del uso de Key Vault son:

  • Separación de la información confidencial de la aplicación de otra configuración y código, lo que reduce el riesgo de fugas accidentales
  • Acceso restringido a los secretos con directivas de acceso adaptadas a las aplicaciones y los individuos que las necesitan
  • Almacenamiento de secretos centralizado, lo que significa que los cambios necesarios solo deben realizarse en un solo lugar
  • Registro y supervisión del acceso para saber cómo y cuándo se accede a los secretos

Los secretos se almacenan en almacenes individuales, que son recursos de Azure que se usan para agrupar los secretos. La administración de los almacenes y del acceso a los secretos se logra a través de una API REST, que también es compatible con todas las herramientas de administración de Azure y las bibliotecas cliente disponibles para muchos lenguajes populares. Cada almacén tiene una dirección URL única donde se hospeda su API.

Importante

Key Vault está diseñado para almacenar secretos de configuración de las aplicaciones de servidor. No tiene por objeto almacenar datos que pertenezcan a los usuarios de la aplicación ni debe utilizarse en la parte del lado cliente de una aplicación. Esto se refleja en sus características de rendimiento, la API y el modelo de costos.

Los datos de usuario deben almacenarse en otro lugar, como una instancia de Azure SQL Database con Cifrado de datos transparente, o una cuenta de almacenamiento con Storage Service Encryption. Los secretos que usa la aplicación para acceder a esos almacenes de datos se pueden conservar en Key Vault.

¿Qué es un secreto en Key Vault?

En Key Vault, un secreto es un par nombre-valor de cadenas. Los nombres de secreto deben tener entre 1 y 127 caracteres, contener solo caracteres alfanuméricos y guiones, y ser únicos en un almacén. Un valor de secreto puede ser cualquier cadena UTF-8 de hasta 25 KB de tamaño.

Sugerencia

Los nombres de secreto no tienen que considerarse especialmente secretos en sí mismos. Puede almacenarlos en la configuración de la aplicación si la implementación lo requiere. Lo mismo puede decirse de las direcciones URL y los nombres de almacén.

Nota:

Key Vault admite otros dos tipos de secretos además de cadenas, claves y certificados, y ofrece la funcionalidad útil específica para sus casos de uso. En este módulo no se describen estas características y se centra en las cadenas de secretos como contraseñas y cadenas de conexión.

Permisos y autenticación de almacén

La API de Key Vault usa Azure Active Directory para autenticar usuarios y aplicaciones. Las directivas de acceso del almacén se basan en acciones y se aplican en todo el almacén. Por ejemplo, una aplicación con los permisos Obtener (leer valores secretos), Lista (enumerar los nombres de todos los secretos) y Establecer (crear o actualizar valores secretos) en un almacén puede crear secretos, enumerar todos los nombres de secretos y obtener y establecer todos los valores secretos de ese almacén.

Todas las acciones realizadas en un almacén requieren autenticación y autorización, no hay ninguna manera de conceder algún tipo de acceso anónimo.

Sugerencia

Al conceder acceso al almacén a desarrolladores y aplicaciones, conceda solo el conjunto mínimo de permisos necesarios. Las restricciones de permisos ayudan a evitar accidentes ocasionados por errores de código y reducen el impacto de credenciales robadas o código malintencionado insertado en la aplicación.

Normalmente, los desarrolladores solo necesitan los permisos Obtener y Enumerar para un almacén de entorno de desarrollo. Algunos ingenieros necesitarán permisos completos para cambiar y agregar secretos cuando sea necesario.

Para las aplicaciones, normalmente solo se requieren los permisos Obtener. Algunas aplicaciones pueden requerir Enumerar según la manera en que se implemente la aplicación. La aplicación que se va a implementar en el ejercicio de este módulo requiere el permiso Enumerar, debido a la técnica que usa para leer los secretos del almacén.