Conceptos básicos de Azure Key Vault

Azure Key Vault es un servicio en la nube para el almacenamiento de los secretos y el acceso a estos de forma segura. Un secreto es todo aquello cuyo acceso desea controlar de forma estricta, como las claves API, las contraseñas, los certificados o las claves criptográficas. El servicio Key Vault admite dos tipos de contenedores: almacenes y grupos de módulos de seguridad de hardware administrados (HSM). Los almacenes permiten almacenar software y claves, secretos y certificados respaldados por HSM. Los grupos HSM administrados solo admiten claves respaldadas por HSM. Para más información, consulte Introducción a la API REST de Azure Key Vault.

Estos son otros términos importantes:

  • Tenant: un inquilino es la organización que posee y administra una instancia específica de los servicios en la nube de Microsoft. Se usa más a menudo para hacer referencia al conjunto de servicios de Azure y Microsoft 365 de una organización.

  • Propietario del almacén: un propietario del almacén puede crear un almacén de claves y obtener acceso completo y control sobre él. El propietario del almacén también puede configurar una auditoría para registrar quién accede a los secretos y claves. Los administradores pueden controlar el ciclo de vida de la clave. Pueden revertir a una nueva versión de la clave, realizar copias de seguridad de ella y efectuar otras tareas relacionadas.

  • Consumidor del almacén: un consumidor del almacén puede realizar acciones en los recursos del almacén de claves si el propietario del almacén le concede acceso de consumidor. Las acciones disponibles dependen de los permisos concedidos.

  • Administradores de HSM administrado: los usuarios que tienen asignado el rol de administrador tienen un control total sobre los grupos HSM administrados. Pueden crear más asignaciones de roles para delegar el acceso controlado a otros usuarios.

  • Usuario o responsable de criptografía de HSM administrado: los roles integrados que normalmente se asignan a usuarios o entidades de servicio que realizarán operaciones criptográficas mediante claves en HSM administrado. El usuario criptográfico puede crear claves, pero no eliminarlas.

  • Usuario de cifrado del servicio de criptografía de HSM administrado: rol integrado que normalmente se asigna a una identidad de servicio administrada por las cuentas de servicio (por ejemplo, la cuenta de almacenamiento) para el cifrado de datos en reposo con la clave administrada por el cliente.

  • Recursos: un recurso es un elemento administrable que está disponible a través de Azure. Ejemplos comunes son una máquina virtual, una cuenta de almacenamiento, una aplicación web, una base de datos y una red virtual. Hay muchos más.

  • Grupo de recursos: Un grupo de recursos es un contenedor que almacena los recursos relacionados con una solución de Azure. El grupo de recursos puede incluir todos los recursos de la solución o solo aquellos que se desean administrar como grupo. Para decidir cómo asignar los recursos a los grupos de recursos, tenga en cuenta lo que más conviene a su organización.

  • Entidad de seguridad: una entidad de seguridad de Azure es una identidad de seguridad que usan las aplicaciones, los servicios y las herramientas de automatización que ha creado el usuario para acceder a recursos específicos de Azure. Se puede considerar una "identidad de usuario" (nombre de usuario y contraseña o certificado) con un rol específico y permisos estrechamente controlados. A diferencia de una identidad de usuario general, una entidad de seguridad solo necesita poder realizar acciones específicas. Mejora la seguridad si le concede el nivel de permiso mínimo necesario para realizar sus tareas de administración. A las entidades de seguridad que se usan con una aplicación o un servicio se les denomina entidades de servicio.

  • Microsoft Entra ID: Microsoft Entra ID es el servicio de Active Directory para un inquilino. Cada directorio tiene uno o varios dominios. Un directorio puede tener varias suscripciones asociadas, pero solo un inquilino.

  • Identificador de inquilino de Azure: un identificador de inquilino es una manera única para identificar una instancia de Microsoft Entra dentro de una suscripción de Azure.

  • Identidades administradas: Azure Key Vault proporciona una manera de almacenar de forma segura las credenciales y otras claves y secretos, pero el código tiene que autenticarse en Key Vault para recuperarlos. El uso de una identidad administrada permite solucionar este problema más fácilmente, al proporcionar a los servicios de Azure una identidad administrada automáticamente en Microsoft Entra ID. Puede usar esta identidad para autenticar en Key Vault o cualquier servicio que admita la autenticación de Microsoft Entra, sin necesidad de tener credenciales en el código. Para obtener más información, consulte la imagen siguiente y la introducción a las identidades administradas para los recursos de Azure.

Authentication

Para realizar cualquier operación con Key Vault, deberá autenticarse en la solución primero. Hay tres formas de autenticarse en Key Vault:

  • Identidades administradas de recursos de Azure: cuando implementa una aplicación en una máquina virtual en Azure, puede asignar una identidad a la máquina virtual que tiene acceso a Key Vault. También puede asignar identidades a otros recursos de Azure . La ventaja de este enfoque es que la aplicación o el servicio no administran la rotación del primer secreto. Azure alterna automáticamente la identidad. Este enfoque es un procedimiento recomendado.
  • Entidad de servicio y certificado: puede usar una entidad de servicio y un certificado asociado que tenga acceso a Key Vault. No se recomienda este enfoque porque el propietario o el desarrollador de la aplicación debe girar el certificado.
  • Entidad de servicio y secreto: aunque puede usar una entidad de servicio y un secreto para autenticarse en Key Vault, no se recomienda que lo haga. Es difícil girar automáticamente el secreto de arranque que se utiliza para autenticarse en Key Vault.

Cifrado de datos en tránsito

Azure Key Vault aplica el protocolo Seguridad de la capa de transporte (TLS) para proteger los datos cuando viajan entre Azure Key Vault y los clientes. Los clientes negocian una conexión TLS con Azure Key Vault. TLS proporciona una autenticación sólida, privacidad de mensajes e integridad (lo que permite la detección de la manipulación, interceptación y falsificación de mensajes), interoperabilidad, flexibilidad de algoritmo, y facilidad de implementación y uso.

Confidencialidad directa total (PFS) protege las conexiones entre los sistemas cliente de los clientes y los servicios en la nube de Microsoft mediante claves únicas. Las conexiones también usan longitudes de clave de cifrado RSA de 2048 bits. Esta combinación hace difícil para un usuario interceptar y acceder a datos que están en tránsito.

Roles de Key Vault

Utilice la tabla siguiente para comprender mejor cómo Key Vault puede ayudar a satisfacer las necesidades de los programadores y de los administradores de seguridad.

Role Declaración del problema Resuelto por Azure Key Vault
Desarrollador para una aplicación de Azure "Quiero escribir una aplicación para Azure que use claves para el cifrado y la firma. Pero quiero que estas claves sean externas a mi aplicación, de forma que la solución sea adecuada para aplicaciones distribuidas geográficamente.

Quiero que tanto las claves como los secretos estén protegidos sin tener que escribir el código. Por último, quiero poder usar fácilmente las claves y los secretos desde mis aplicaciones, y que el rendimiento sea óptimo".
√ Las claves se almacenan en un almacén y las invoca un identificador URI cuando se necesitan.

√ Las claves se protegen mediante Azure, para lo que se usan algoritmos estándar del sector, longitudes de clave y módulos de seguridad de hardware.

√ Las claves se procesan en los HSM que residen en los mismos centros de datos de Azure que la aplicaciones. Este método proporciona mayor confiabilidad y menor latencia que las claves que se encuentran en una ubicación independiente, como por ejemplo si son locales.
Desarrollador para software como servicio (SaaS) "No quiero asumir la responsabilidad, ni tampoco la posible responsabilidad, de las claves y los secretos de inquilino de mis clientes.

Quiero que los clientes posean sus claves y las administren, de modo que yo pueda concentrarme en mi trabajo, que es proporcionar las características de software principales".
√ Los clientes pueden importar sus propias claves a Azure y administrarlas. Cuando una aplicación SaaS necesita realizar operaciones criptográficas mediante las claves de los clientes, Key Vault las realiza en nombre de la aplicación. La aplicación no ve las claves de los clientes.
Responsable principal de la seguridad (CSO) "Quiero saber que nuestras aplicaciones cumplen con HSM FIPS 140 de nivel 3 para una administración de claves segura.

Deseo asegurarme de que mi organización tiene el control del ciclo de vida de las claves y puedo supervisar el uso de estas.

Y aunque usamos varios servicios y recursos de Azure, quiero administrar las claves desde una ubicación única en Azure".
√ Elija almacenes o HSM administrados para HSM validados por FIPS 140.
√ Elija grupos HSM administrados para los HSM validados por FIPS 140-2 nivel 3.

√ Key Vault está diseñado de modo que Microsoft no pueda ver ni extraer sus claves.
El uso de la clave √ se registra en tiempo casi real.

√ El almacén proporciona una sola interfaz, independientemente del número de almacenes que tenga en Azure, las regiones que admitan y las aplicaciones que los usen.

Cualquiera con una suscripción a Azure puede crear y usar instancias de Key Vault. Aunque Key Vault beneficia a los desarrolladores y los administradores de seguridad, el administrador de una organización que administra otros servicios de Azure puede implementarlo y administrarlo. Por ejemplo, este administrador puede iniciar sesión con una suscripción de Azure, crear un almacén para la organización en el que almacenar las claves y, después, asumir la responsabilidad de las tareas operativas, como:

  • Crear o importar una clave o un secreto
  • Revocar o eliminar una clave o un secreto
  • Autorizar usuarios o aplicaciones para acceder al almacén de claves para que puedan administrar o usar sus claves y secretos
  • Configurar el uso de claves (por ejemplo, para firmar o cifrar)
  • Supervisar el uso de claves

A continuación, este administrador proporciona a los desarrolladores los URI para llamar desde sus aplicaciones. Este administrador también ofrece información de registro del uso de claves al administrador de seguridad.

Overview of how Azure Key Vault works

Los desarrolladores también pueden administrar las claves directamente mediante API. Para más información, consulte la guía para desarrolladores de Key Vault.

Pasos siguientes

Azure Key Vault está disponible en la mayoría de las regiones. Para obtener más información, consulte la página de precios de Key Vault.