Compartir a través de


Multi-inquilinato y Azure Key Vault

Azure Key Vault se usa para administrar datos seguros para la solución, incluidos secretos, claves de cifrado y certificados. En este artículo, se describen algunas de las características de Azure Key Vault que son útiles para las soluciones multi-inquilino. A continuación, proporcionamos vínculos a las instrucciones que pueden ayudarle, cuando planees cómo vas a usar Key Vault.

Modelos de aislamiento

Al trabajar con un sistema multi-inquilino en el que se usa Key Vault, debes tomar una decisión sobre el nivel de aislamiento que quieres usar. La elección de modelos de aislamiento que uses depende de los siguientes factores:

  • ¿Cuántos inquilinos tienes previsto tener?
  • ¿Compartes el nivel de aplicación entre varios inquilinos, implementas instancias de aplicación de inquilino único o implementas marcas de implementación independientes para cada inquilino?
  • ¿Tus inquilinos necesitan administrar sus propias claves de cifrado?
  • ¿Tus inquilinos tienen requisitos de cumplimiento que requieren que sus secretos se almacenen por separado de los secretos de otros inquilinos?

En la tabla siguiente se resumen las diferencias entre los principales modelos de inquilinato para Key Vault:

Consideración Almacén por inquilino, en la suscripción del proveedor Almacén por inquilino, en la suscripción del inquilino Almacén compartido
Aislamiento de datos Alto Muy alto Bajo
Aislamiento de rendimiento Mediana. El alto rendimiento puede ser limitado, incluso con muchos almacenes Alto Bajo
Complejidad de la implementación Bajo-medio, dependiendo del número de inquilinos Alta. El inquilino debe conceder correctamente acceso al proveedor Bajo
Complejidad operativa Alto Bajo para el proveedor, más alto para el inquilino Mínima
Escenario de ejemplo Instancias de aplicación individuales por inquilino Claves de cifrado administradas por el cliente Solución multi-inquilino grande con un nivel de aplicación compartido

Almacén por inquilino, en la suscripción del proveedor

Tal vez consideres la posibilidad de implementar un almacén para cada uno de los inquilinos dentro de la suscripción de Azure (el proveedor de servicios). Este enfoque proporciona aislamiento de datos seguro entre los datos de cada inquilino. Sin embargo, requiere que implemente y administre un número cada vez mayor de almacenes a medida que aumenta el número de inquilinos.

No hay ningún límite en el número de almacenes que puedes implementar en una suscripción de Azure. No obstante, se deben tener en cuenta los siguientes límites:

Almacén por inquilino, en la suscripción del inquilino

En algunas situaciones, los inquilinos pueden crear almacenes en sus propias suscripciones de Azure y es posible que quieran conceder a la aplicación acceso para trabajar con secretos, certificados o claves. Este enfoque es adecuado cuando se permiten claves administradas por el cliente (CMK) para el cifrado dentro de la solución.

Para acceder a los datos del almacén del inquilino, el inquilino debe proporcionar a la aplicación acceso a su almacén. Este proceso requiere que la aplicación se autentique a través de su instancia de Microsoft Entra. Un enfoque consiste en publicar una aplicación multi inquilino Microsoft Entra. Los inquilinos deben realizar un proceso de consentimiento único. Primero registran la aplicación Microsoft Entra multiinquilino en su propio inquilino de Microsoft Entra. A continuación, conceden a la aplicación de Microsoft Entra multi-inquilino el nivel de acceso adecuado a su almacén. También deben proporcionarle el identificador de recurso completo del almacén que han creado. A continuación, el código de la aplicación puede usar una entidad de servicio asociada a la aplicación de Microsoft Entra multi-inquilino en su propio Microsoft Entra ID para acceder al almacén de cada inquilino.

Como alternativa, puedes pedir a cada inquilino que cree una entidad de servicio para que el servicio lo use y que le proporcione sus credenciales. Sin embargo, este enfoque requiere que almacene y administre credenciales de forma segura para cada inquilino, lo que supone un problema de seguridad.

Si sus inquilinos configuran controles de acceso de red en sus almacenes, asegúrese de que podrá acceder a los almacenes. Diseñe la aplicación para controlar situaciones en las que un inquilino cambia sus controles de acceso a la red e impide que acceda a sus almacenes.

Almacenes compartidos

Puedes optar por compartir los secretos de los inquilinos dentro de un único almacén. El almacén se implementa en la suscripción de Azure (el proveedor de soluciones) y eres responsable de administrarlo. Este enfoque es más sencillo, pero proporciona el menor aislamiento de datos y el aislamiento de rendimiento.

También puedes optar por implementar varios almacenes compartidos. Por ejemplo, si sigues el patrón de stamps de implementación, es probable que implementes un almacén compartido dentro de cada stamp. De forma similar, si implementas una solución de varias regiones, debes implementar almacenes en cada región por los siguientes motivos:

  • Para evitar la latencia del tráfico entre regiones al trabajar con los datos del almacén.
  • Para soportar los requisitos de residencia de datos de directorio.
  • Para habilitar el uso de almacenes regionales dentro de otros servicios que requieren implementaciones de la misma región.

Al trabajar con un almacén compartido, es importante tener en cuenta el número de operaciones que realizas en el almacén. Las operaciones incluyen la lectura de secretos y la realización de operaciones de cifrado o descifrado. Key Vault impone límites en el número de solicitudes que se pueden realizar en un único almacén y en todos los almacenes de una suscripción de Azure. Asegúrate de seguir las instrucciones de limitación. Es importante seguir los procedimientos recomendados, incluido almacenar en caché de forma segura los secretos que recupere y use el cifrado de sobre para evitar enviar todas las operaciones de cifrado a Key Vault. Al seguir estos procedimientos recomendados, puedes ejecutar soluciones a gran escala en un único almacén.

Si necesitas almacenar secretos, claves o certificados específicos del inquilino, considera la posibilidad de usar una convención de nomenclatura como un prefijo de nomenclatura. Por ejemplo, puedes anteponer el identificador de inquilino al nombre de cada secreto. A continuación, el código de la aplicación puede cargar fácilmente el valor de un secreto específico para un inquilino específico.

Características de Azure Key Vault que admiten multi-inquilinato

Etiquetas

Key Vault admite el etiquetado de secretos, certificados y claves con metadatos personalizados, por lo que puedes usar una etiqueta para realizar un seguimiento del identificador de inquilino de cada secreto específico del inquilino. Sin embargo, Key Vault no admite la consulta por etiquetas, por lo que esta característica es más adecuada para fines de administración, en lugar de usarla en la lógica de la aplicación.

Más información:

Compatibilidad con Azure Policy

Si decides implementar un gran número de almacenes, es importante asegurarse de que siguen un estándar coherente para la configuración de acceso a la red, el registro y el control de acceso. Considera la posibilidad de usar Azure Policy para comprobar que los almacenes se han configurado según tus requisitos.

Más información:

HSM administrado y HSM dedicado

Si necesitas realizar un gran número de operaciones por segundo y los límites de operación de Key Vault son insuficientes, considera la posibilidad de usar HSM administrado o Dedicated HSM. Ambos productos proporcionan una cantidad reservada de capacidad, pero normalmente son más costosos que Key Vault. Además, ten en cuenta los límites del número de instancias de estos servicios que puedes implementar en cada región.

Más información:

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Revise los enfoques de implementación y configuración para multiinquilino.