Seguridad y configuración de aplicaciones centralizadas

Microsoft Entra ID
Azure App Configuration
Azure Key Vault

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

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.

Diagrama de arquitectura en el que se muestra cómo una aplicación inicia sesión y se autentica en un entorno de desarrollo.

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.

Diagrama de arquitectura en el que se muestra cómo una aplicación inicia sesión y se autentica en un entorno de producción o almacenamiento provisional.

Descargue un archivo de Visio de esta arquitectura.

Flujo de datos

  1. 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.
  2. Tras la autenticación correcta, Microsoft Entra ID devuelve un token de acceso.
  3. 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.
  4. Tras una autorización correcta, App Configuration envía el valor de configuración.
  5. 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ó.
  6. 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:

Pasos siguientes

Más información sobre las tecnologías de los componentes: