Portal sanitario del consumidor en Azure

Azure App Service
Azure Functions
Firewall de aplicaciones web de Azure

Este artículo describe una arquitectura típica de un portal de salud del consumidor, que se alinea con los pilares de la Marco de trabajo bien arquitectónico de Azure. Podría optar por personalizar esta arquitectura para satisfacer sus necesidades particulares.

Architecture

Diagrama de la arquitectura del portal de salud del consumidor.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  • Esta solución usa la superficie global de Azure Front Door y las características de seguridad perimetral de Azure Web Application Firewall (WAF) para autenticar los datos de entrada.
  • A continuación, Azure API Management (APIM) enruta los datos autenticados a la interfaz de front-end para los usuarios de la instancia de Azure App Service o las API hospedadas en Azure Functions.

El servicio de datos de back-end principal utilizado en esta arquitectura es Azure Cosmos DB. Las capacidades de varios modelos de Azure Cosmos DB, además de la escalabilidad y la seguridad, proporcionan flexibilidad para cualquier tipo de portal sanitario del consumidor. Los datos que no tienen formato de registro se almacenan en Azure Blob Storage como un objeto. Estos datos podrían incluir imágenes médicas, fotografías tomadas por el consumidor, documentos cargados, datos archivados, etc. Blob Storage proporciona un almacenamiento asequible para grandes volúmenes de datos no estructurados. Este tipo de datos no está optimizado para su almacenamiento en Azure Cosmos DB y puede afectar negativamente a su costo y rendimiento.

Componentes

  • El plano técnico de HIPAA HITRUST 9.2 de Azure es un plano técnico de Azure que usa Azure Policy. Ayuda a evaluar los controles de HIPAA HITRUST 9.2 e implementar un conjunto básico de directivas para las cargas de trabajo de Azure. Aunque esto no proporciona una cobertura de cumplimiento total para HIPAA HITRUST, es un buen lugar para comenzar y agregar controles adicionales, cuando corresponda y sea necesario. El cumplimiento de las iniciativas de directiva también se puede visualizar en este proyecto, así como en la interfaz de Microsoft Defender for Cloud.

  • Azure Front Door se utiliza para administrar el tráfico perimetral a gran escala y para aumentar el rendimiento para los usuarios finales mediante la presentación de puntos de conexión en todo el mundo. Se trata de una tecnología nativa de nube que no requiere ninguna licencia; solo paga por lo que usa. En este escenario de carga de trabajo, Azure Front Door actúa como el punto de entrada de todo el tráfico al portal sanitario del consumidor.

  • Azure Web Application Firewall protege a las aplicaciones frente a ataques basados en web comunes, como los puntos vulnerables de OWASP, el ataque por inyección de código SQL, el scripting entre sitios y otros. Se trata de una tecnología nativa de nube que no requiere ninguna licencia y solo paga por lo que usa.

  • Azure API Management ayuda en la publicación, el enrutamiento, la protección, el registro y el análisis de las API. Tanto si solo el usuario final usa la API como si está integrada con terceros para la interoperabilidad externa, API Management permite una mayor flexibilidad en el modo en que se amplían y presentan las API.

  • Azure App Service es un servicio que se usa para hospedar servicios web basados en HTTP. Es compatible con una amplia gama de lenguajes, se puede ejecutar en Linux o Windows, se integra completamente con las canalizaciones de CI/CD e incluso puede ejecutar cargas de trabajo de contenedor como una oferta de PaaS. App Service permite escalar tanto vertical como horizontalmente, además de tener integración nativa con los servicios de identidad, seguridad y registro de Azure. Es capaz de satisfacer las necesidades de escalado del portal sanitario del consumidor a la vez que mantiene el cumplimiento. En esta arquitectura, hospeda el portal web de front-end.

  • Las aplicaciones de Azure Functions son una solución de plataforma sin servidor en Azure que permite a los desarrolladores escribir código de proceso a petición, sin tener que mantener ninguno de los sistemas subyacentes. En esta arquitectura, Azure Functions puede hospedar tanto las API como cualquier trabajo que se deba realizar de forma asincrónica, como ejecutar trabajos periódicos y estadísticas de cálculo sobre un determinado período de tiempo.

  • Azure Cosmos DB es una oferta de base de datos NoSQL totalmente administrada y de varios modelos que ofrece tiempos de respuesta de un solo dígito y garantiza el rendimiento a cualquier escala. Cada usuario del sistema sanitario del consumidor solo tendrá datos relacionados con él mismo, lo que justifica el uso de una estructura de datos NoSQL. Azure Cosmos DB tiene una escala casi ilimitada, así como lectura y escritura en varias regiones. Con el drástico crecimiento de la cantidad de datos recopilados por este tipo de sistemas sanitarios del consumidor, Azure Cosmos DB puede proporcionar la seguridad, velocidad y escala adecuadas, independientemente de que haya cien o un millón de usuarios activos.

  • Azure Key Vault es un servicio nativo de Azure que se usa para almacenar y acceder a secretos, claves y certificados de forma segura. Key Vault permite la seguridad respaldada por HSM y el acceso auditado a través del control de acceso basado en roles integrados en Microsoft Entra. Las aplicaciones nunca deben almacenar claves o secretos de forma local. Esta arquitectura usa Azure Key Vault para almacenar todos los secretos, como claves de API, contraseñas, claves criptográficas y certificados.

  • Azure Active Directory B2C proporciona identidad como servicio de negocio a consumidor a gran escala, cuyo costo se escala con el número de usuarios activos. En aplicaciones orientadas al consumidor como esta solución, en lugar de crear una nueva cuenta, los usuarios podrían desear traer su propia identidad. Puede ser cualquier cosa, como un identificador social, una cuenta de correo electrónico o cualquier servicio de identidad de un proveedor de SAML. Este método proporciona una experiencia de incorporación más sencilla para el usuario. El proveedor de la solución solo debe referencia a las identidades de usuario y no es necesario hospedarlas ni mantenerlas.

  • Azure Log Analytics, una herramienta de registros de Azure Monitor, se puede usar para la información de diagnóstico o registro, y para consultar estos datos para ordenarlos, filtrarlos o visualizarlos. Este servicio tiene un precio por consumo y es ideal para hospedar registros de diagnóstico y de uso de todos los servicios de esta solución.

  • Azure Application Insights, otra característica de Azure Monitor, es un servicio nativo de administración del rendimiento de las aplicaciones (APM) de Azure. Se puede integrar fácilmente en el front-end de App Service y en todo el código de Azure Functions para habilitar la supervisión en vivo de las aplicaciones. Application Insights puede detectar fácilmente el rendimiento, las anomalías de uso y los errores generados directamente por las propias aplicaciones, y no solo de la plataforma de proceso que las hospeda.

  • Azure Communication Services son servicios basados en la nube con API REST y SDK de biblioteca cliente disponibles para ayudarle a integrar la comunicación en sus aplicaciones. Puede agregar comunicación a las aplicaciones sin ser un experto en tecnologías subyacentes, como la codificación multimedia o la telefonía. En esta solución, se puede usar para enviar mensajes de correo electrónico, textos o llamadas de teléfono automáticas relacionados con el portal sanitario del consumidor, como confirmaciones o recordatorios de citas.

  • Azure Notification Hubs es un motor de notificaciones de inserción sencillo y escalable que permite enviar notificaciones a cualquier plataforma móvil. Un portal sanitario del consumidor que use las ventajas de una aplicación móvil se puede integrar con Azure Notification Hubs para disponer de una manera rentable de enviar notificaciones push a los usuarios que hayan instalado la aplicación en sus dispositivos móviles. En esta arquitectura, se pueden enviar notificaciones para recordar a los usuarios sus citas, especificar información para los dispositivos desconectados, alcanzar determinados objetivos sanitarios, etc.

  • Microsoft Defender for Cloud) es el núcleo de la supervisión de la seguridad y la administración de la postura para toda esta solución nativa de la nube. Microsoft Defender para la nube se integra con casi todos los servicios principales de la plataforma Azure. Entre otras, ofrece funcionalidades de alertas de seguridad, detección de anomalías, recomendaciones de procedimientos recomendados, puntuaciones de cumplimiento normativo y detección de amenazas. Además de la supervisión del cumplimiento de HIPAA/HITRUST y la supervisión general de los procedimientos recomendados de seguridad de Azure, esta solución usa los siguientes conjuntos de características:

Alternativas

  • Azure FHIR Service como parte de Azure Health Data Services se puede usar para la interoperabilidad de los historiales médicos, mediante los estándares de comunicación HL7 o FHIR. Este servicio se debe usar si la aplicación necesita recibir o transmitir registros médicos desde otros sistemas. Por ejemplo, si la solución fuera un portal para proveedores médicos, se puede integrar Azure API for FHIR directamente con el sistema de registros médicos electrónicos del proveedor.

  • Azure IoT Hub es un servicio optimizado para la ingesta de datos de dispositivos. Si el portal es el front-end de una solución que recopila datos de un dispositivo portátil o cualquier otro dispositivo médico, se debe usar IoT Hub para ingerir estos datos. Para más información, consulte el proceso de INGESTA de la arquitectura Soluciones de supervisión remota de pacientes.

  • El correo electrónico de Microsoft 365 es un servicio líder del sector que se usa para el correo electrónico y las comunicaciones. Muchas organizaciones ya han invertido en este servicio y se puede usar como alternativa a Azure Communication Services más completa. En esta solución, se puede usar para enviar mensajes de correo electrónico relacionados con el portal sanitario del consumidor, como la confirmación de cita o los correos electrónicos de recordatorio.

Detalles del escenario

En el sector de las ciencias biosanitarias, las organizaciones están adoptando una estrategia de sanidad digital. Uno de los fundamentos principales y un componente necesario de una solución de sanidad digital es un portal sanitario del consumidor. Un portal sanitario del consumidor podría usarse para el seguimiento del progreso y las estadísticas de un dispositivo portátil, para ponerse en contacto con un proveedor médico o para la realización de un seguimiento de los hábitos de alimentación saludables.

Posibles casos de uso

  • Seguimiento de las estadísticas de un dispositivo portátil.
  • Obtener acceso a los registros médicos y ponerse en contacto con un proveedor médico.
  • Especificar las horas y las dosis de los medicamentos, que se pueden usar para rellenar datos o para realizar un seguimiento automático de la medicación.
  • Interactuar con un entrenador de alimentación saludable para la pérdida de peso o la diabetes.

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.

Disponibilidad

Esta solución está diseñada actualmente como una implementación de una sola región. Si el escenario requiere una implementación de varias regiones para la alta disponibilidad, la recuperación ante desastres o incluso la proximidad, podría necesitar una región de Azure emparejada con las siguientes configuraciones.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

En las secciones siguientes se describen los procedimientos recomendados de seguridad para cada uno de los servicios que se usan en esta solución.

Azure Front Door

Web Application Firewall (WAF) de Azure Front Door se puede usar para mitigar muchos ataques comunes diferentes. Una buena línea base es empezar por usar la versión más reciente de los conjuntos de reglas principales (CRS) de Open Web Application Security Project (OWASP) y, después, agregar directivas personalizadas según sea necesario. Aunque Azure Front Door está diseñado para procesar grandes cantidades de tráfico, considere la posibilidad de usar los mecanismos de almacenamiento en caché disponibles con este servicio para reducir la carga de tráfico en los sistemas de back-end siempre que sea posible. Para la solución de problemas y el apoyo a posibles investigaciones de seguridad, se debe configurar el registro para Azure Front Door y Web Application Firewall. Más información en Base de referencia de seguridad de Azure para Azure Front Door.

Azure API Management

Se debe autenticar todo el tráfico dirigido a APIM, ya sea mediante la autenticación de APIM de Azure AD B2C o con sesiones identificadas por tokens. Configure Azure API Management para almacenar registros de recursos. Más información en Línea de base de seguridad de Azure para API Management.

Azure App Service

Todo el tráfico dirigido a esta arquitectura, incluido el de App Service, se debe proteger de un extremo a otro con TLS. App Service debe denegar los protocolos no seguros para reforzar la superficie expuesta a ataques. Además, APIM debe devolver la autenticación del cliente a App Service para permitir que se valide con su propia autenticación y autorización de cliente. Todos los secretos utilizados en App Service se deben almacenar en Key Vault, con una identidad de servicio administrada siempre que sea posible. La instancia de App Service también debe almacenar los registros de diagnóstico para posibilitar cualquier trabajo de diagnóstico de seguridad y se debe integrar con Microsoft Defender para App Service. Más información en Seguridad en Azure App Service.

Azure Functions

Todas las solicitudes de esta solución a Azure Functions deben requerir HTTPS, usar Azure API Management para autenticar las solicitudes y usar identidades administradas siempre que sea posible. Almacene todas las claves en Azure Key Vault en lugar de dejarlas en el código de la función. Como con cualquier aplicación, asegúrese de validar los datos en la entrada e integrarla con Microsoft Defender para la nube. Por último, configure siempre el registro y la supervisión de Azure Functions. Más información en Protección de Azure Functions.

Azure Blob Storage

En la medida de lo posible, restrinja el acceso al almacenamiento blob mediante el uso de Microsoft Entra ID para autorizar el acceso de los usuarios, y las identidades de servicios administrados para el acceso de recursos al almacenamiento de blob. En caso de que estos tipos de autenticación no funcionen para su aplicación, use un token de firma de acceso compartido (SAS) en el nivel más granular, en lugar de una clave de cuenta. Los tokens de SAS se invalidan después de rotar las claves de cuenta.

Asegúrese de usar también un control de acceso basado en roles para el almacenamiento de blobs. Utilice los firewalls de Azure Storage para impedir el tráfico de red que no proceda de servicios de confianza de Microsoft. Integre siempre Azure Storage con Microsoft Defender for Cloud y configure la supervisión. Más información en Recomendaciones de seguridad para Blob Storage.

Azure Cosmos DB

Se deben habilitar los controles de acceso basado en roles para la administración de Azure Cosmos DB. El acceso a los datos de Azure Cosmos DB debe estar protegido adecuadamente. Puede configurar Azure Cosmos DB para almacenar los registros de diagnóstico para las operaciones del plano de control, así como para almacenar los registros de recursos. Consulte más detalles en Prácticas de seguridad para Azure Cosmos DB.

Azure Key Vault

Las solicitudes realizadas a Azure Key Vault deberán ser autenticadas utilizando Microsoft Entra ID o MSI además de los controles de acceso privilegiados. Integre Key Vault con Microsoft Defender para la nube además del registro de las acciones de Key Vault en Azure Monitor. Más información en Seguridad de Azure Key Vault.

Azure AD B2C

Use las características integradas en Azure AD B2C para protegerse frente a amenazas como, por ejemplo, los ataques por denegación de servicio y basados en contraseña. Configure el registro de auditoría para permitir las investigaciones de seguridad y para crear alertas de registro para los registros de administración de amenazas generados por B2C. Más información en Administración de amenazas en los recursos y los datos en Azure Active Directory B2C.

Azure Log Analytics

Los controles de acceso basado en roles deben estar en vigor para que Log Analytics permita que solo los usuarios autorizados tengan acceso a los datos enviados al área de trabajo. Más información en Seguridad de los datos de Log Analytics.

Azure Application Insights

Los datos personales se deben ofuscar antes de enviarse a Application Insights. También se deben establecer controles de acceso basados en roles para Application Insights para que solo los usuarios autorizados puedan ver los datos enviados a Application Insights. Más información en Recopilación, retención y almacenamiento de datos en Application Insights.

Consulte también Seguridad de Notification Hubs.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Los precios de esta arquitectura son en gran medida variables en función de los niveles de servicio utilizados finalmente, la capacidad, el rendimiento, los tipos de consultas que se realizan en los datos, el número de usuarios, así como la continuidad empresarial y la recuperación ante desastres. Pueden comenzar desde aproximadamente 2500 $ al mes y escalar desde allí.

Como punto de partida, puede ver la estimación genérica de la calculadora de Azure aquí.

Según la escala de la carga de trabajo y los requisitos de la funcionalidad empresarial, el uso del nivel de consumo de Azure API Management podría reducir el costo.

Colaboradores

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

Autor principal:

Pasos siguientes