Ideas de solución
En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.
En este artículo se describe una solución para crear una aplicación sólida y escalable en un entorno distribuido. La solución usa Azure App Configuration y Azure Key Vault para administrar y almacenar los valores de configuración de la aplicación, las marcas de la característica y la configuración de acceso seguro en un solo lugar.
Architecture
En los diagramas siguientes se muestra cómo App Configuration y Key Vault pueden trabajar conjuntamente para administrar y proteger aplicaciones en entornos de desarrollo y de Azure.
Entorno de desarrollo
En el entorno de desarrollo, la aplicación usa una identidad mediante Visual Studio o la versión 2.0 de la CLI de Azure para iniciar sesión y enviar una solicitud de autenticación a Microsoft Entra ID.
Descargue un archivo de Visio de esta arquitectura.
Entorno de almacenamiento provisional o de producción de Azure
Los entornos de almacenamiento provisional y de producción de Azure usan una identidad administrada para el inicio de sesión y la autenticación.
Descargue un archivo de Visio de esta arquitectura.
Flujo de datos
- La aplicación envía una solicitud de autenticación durante la depuración en Visual Studio o se autentica a través de MSI en Azure.
- Tras la autenticación correcta, Microsoft Entra ID devuelve un token de acceso.
- El SDK de App Configuration envía una solicitud con el token de acceso a fin de leer el valor secretURI de Key Vault de App Configuration de la aplicación para el almacén de claves de la aplicación.
- Tras una autorización correcta, App Configuration envía el valor de configuración.
- Mediante la identidad de inicio de sesión, la aplicación envía una solicitud a Key Vault para recuperar el secreto de la aplicación correspondiente al valor secretURI que App Configuration envió.
- Tras una autorización correcta, Key Vault devuelve el valor del secreto.
Componentes
- Microsoft Entra ID es una plataforma universal para administrar y proteger identidades.
- App Configuration proporciona una forma de almacene las configuraciones de todas las aplicaciones de Azure en una ubicación universal y hospedada.
- Las identidades administradas proporcionan una identidad que usan las aplicaciones al conectarse a los recursos que admiten la autenticación de Microsoft Entra.
- Key Vault protege las claves criptográficas y otros secretos que usan los servicios y aplicaciones en la nube.
Detalles del escenario
Las aplicaciones basadas en la nube a menudo se ejecutan en varias máquinas virtuales o contenedores de varias regiones y emplean varios servicios externos. La creación de una aplicación sólida y escalable en un entorno distribuido supone un desafío importante.
Al usar App Configuration, se puede administrar y almacenar la configuración de la aplicación, las marcas de características, así como la configuración de acceso seguro, en un solo lugar. App Configuration funciona perfectamente con Key Vault, que almacena contraseñas, claves y secretos para el acceso seguro.
Posibles casos de uso
Aunque cualquier aplicación puede usar App Configuration, los tipos de aplicaciones siguientes son los que más se benefician de ella:
- Microservicios que se ejecutan en Azure Kubernetes Service (AKS) u otras aplicaciones contenedorizadas implementadas en una o varias regiones.
- Aplicaciones sin servidor, Azure Functions u otras aplicaciones de proceso sin estado controladas por eventos incluidas.
- Aplicaciones que usan una canalización de implementación continua (CD).
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Es mejor usar un almacén de claves diferente para cada aplicación de cada entorno: desarrollo, preproducción de Azure y producción de Azure. El uso de distintos almacenes ayuda a evitar compartir secretos entre los entornos y reduce la amenaza en caso de infracción.
Para usar estos escenarios, la identidad de inicio de sesión debe tener el rol lector de datos de App Configuration en el recurso de App Configuration y tener directivas de acceso explícitas para recuperar los secretos en Key Vault.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Soman de Sowmyan | Arquitecto principal de soluciones en la nube
Pasos siguientes
Más información sobre las tecnologías de los componentes:
- Azure App Configuration
- Azure Key Vault
- Uso de referencias de Key Vault para App Service y Azure Functions
- Uso de identidades administradas para acceder a App Configuration
- Desarrollo local y seguridad