Proyecto de seguridad y cumplimiento de Azure: IA y datos médicos HIPAA/HITRUST

Información general

El Plano técnico de seguridad y cumplimiento de Azure (IA y datos de estado de HIPAA/HITRUST) ofrece una implementación llave en mano de una solución de IaaS y PaaS de Azure para mostrar cómo ingerir, almacenar, analizar, interactuar, identificar y desplegar de forma segura soluciones con datos de estado y alcanzar los requisitos de cumplimiento del sector. El proyecto le ayuda a acelerar la adopción en la nube y el uso de los clientes con datos regulados.

Azure Security and Compliance Blueprint: HIPAA/HITRUST Health Data and AI Blueprint proporciona herramientas e instrucciones para ayudar a implementar un entorno seguro, seguro de responsabilidad y portabilidad de seguros de salud (HIPAA) y Health Information Trust Alliance (HITRUST) listo para la plataforma como servicio (PaaS) para ingerir, almacenar, analizar e interactuar con registros médicos personales y no personales en un entorno seguro de nube de varios niveles, implementado como una solución de un extremo a otro.

La solución de IaaS mostrará cómo migrar una solución SQL local a Azure e implementar una estación de trabajo de acceso con privilegios (PAW) para administrar de forma segura soluciones y servicios basados en la nube. La base de datos SQL Server de IaaS agrega posibles datos de experimentación, se importa en una máquina virtual IaaS de SQL y dicha máquina virtual usa el acceso autenticado por MSI para interactuar con de un servicio de Azure PaaS de SQL. Ambas presentan una arquitectura de referencia común y están diseñados para simplificar la adopción de Microsoft Azure. La arquitectura proporcionada muestra una solución completa para satisfacer las necesidades de organizaciones que buscan un enfoque basado en la nube para reducir la carga y los costos de implementación.

La solución está diseñada para consumir un conjunto de datos de ejemplo en formato Fast Healthcare Interoperability Resources (FHIR), un estándar internacional para el intercambio electrónico de información de datos médicos y su almacenamiento de forma segura. Los clientes pueden usar Azure Machine Learning Studio para aprovechar sus eficaces herramientas de inteligencia empresarial y análisis para revisar las predicciones realizadas sobre los datos de ejemplo. Como ejemplo del tipo de experimento que Azure Machine Learning Studio puede facilitar, el proyecto incluye un conjunto de datos de ejemplo, scripts y herramientas para predecir la duración de la permanencia del paciente en un centro hospitalario.

Este proyecto está diseñado para servir como base modular para que los clientes lo ajusten a sus requisitos específicos y desarrollen nuevos experimentos de Azure Machine Learning para resolver escenarios de casos de uso tanto clínicos como operativos. Está diseñado para ser seguro y conforme una vez implementado; sin embargo, los clientes son responsables de la configuración correcta de los roles y de implementar cualquier modificación. Tenga en cuenta lo siguiente:

  • Este proyecto proporciona una base de referencia para que los clientes puedan usar Microsoft Azure en un entorno HITRUST y HIPAA.

  • Aunque el proyecto está diseñado para alinearse con HIPAA y HITRUST (a través de la estructura de seguridad común, CSF), no debería considerarse conforme hasta ser certificado por un auditor externo según los requisitos de certificación de HIPAA y HITRUST.

  • Los clientes son responsables de llevar a cabo las revisiones de seguridad y cumplimiento adecuadas de todas las soluciones creadas con esta arquitectura base.

Implementación de la automatización

  • Para implementar la solución, siga las instrucciones que se proporcionan en la guía de implementación.

  • Para obtener información general de cómo funciona esta solución, vea este vídeo en el que se explica y demuestra cómo realizar la implementación.

  • Las preguntas más frecuentes se pueden encontrar en la guía de preguntas más frecuentes.

  • Diagrama arquitectónico. El diagrama muestra la arquitectura de referencia utilizada en el proyecto y el escenario del caso de uso de ejemplo.

  • Extensión IaaS Esta solución mostrará cómo migrar una solución basada en SQL local a Azure e implementar una estación de trabajo de acceso con privilegios para administrar de forma segura servicios y soluciones basados en la nube.

Componentes de soluciones

La arquitectura fundamental consta de los siguientes componentes:

  • Modelo de amenazas se proporciona un modelo de amenazas completo en formato tm7 para su uso con Microsoft Threat Modeling Tool que muestra los componentes de la solución, los datos que fluyen entre ellos y los límites de confianza. El modelo puede ayudar a los clientes a comprender los puntos de riesgo potencial de la infraestructura del sistema al desarrollar componentes de Machine Learning Studio u otras modificaciones.

  • Matriz de implementación del cliente un libro de Microsoft Excel enumera los requisitos de HITRUST pertinentes y explica cómo Microsoft y el cliente son responsables del cumplimiento de cada uno de ellos.

  • Revisión de estado. La solución fue revisada por Coalfire systems, Inc. La revisión y guía de cumplimiento de salud (HIPAA y HITRUST) para la implementación proporciona una revisión de la solución del auditor y consideraciones para transformar el plano técnico en una implementación lista para producción.

Diagrama de arquitectura

Roles

El proyecto define dos roles para los usuarios administrativos (operadores) y tres roles para los usuarios de administración del hospital y atención al paciente. Se define un sexto rol para que un auditor pueda evaluar el cumplimiento con HIPAA y otras normativas. El control de acceso basado en rol (RBAC) de Azure permite la administración de acceso con precisión para cada usuario de la solución a través de roles integrados y personalizados. Consulte Introducción al control de acceso basado en rol en Azure Portal y Roles integrados para el control de acceso basado en rol de Azure para obtener información detallada acerca de RBAC, los roles y los permisos.

Administrador del sitio

El administrador del sitio es responsable de la suscripción de Azure del cliente. Controla la implementación completa, pero no tiene acceso a los historiales de los pacientes.

  • Asignaciones de roles predeterminadas: Propietario

  • Asignaciones de roles personalizados: N/D

  • Ámbito: suscripción

Analista de base de datos

El analista de base de datos administra la instancia de SQL Server y la base de datos. No tiene acceso a los historiales de los pacientes.

Científico de datos

Los científicos de datos operan el servicio Azure Machine Learning Studio. Pueden importar, exportar y administrar los datos y ejecutar informes. Los científicos de datos tienen acceso a los datos del paciente, pero no tienen privilegios administrativos.

Director de información médica (CMIO)

El director de información médica (CMIO) se encuentra en la línea divisoria entre los profesionales informáticos o técnicos y los profesionales sanitarios en un centro de atención médica. Sus tareas suelen incluir el uso de análisis para determinar si se están asignando correctamente los recursos en la organización.

  • Asignaciones de roles integrados: ninguno

Administrador de la línea de atención al paciente

El administrador de la línea de atención al paciente está directamente implicado en la atención a los pacientes. Este rol requiere la supervisión del estado de cada paciente y asegurarse de que hay personal disponible para atender las necesidades de atención específicas de los pacientes. El administrador de la línea de atención al paciente es responsable de agregar y actualizar los historiales de los pacientes.

  • Asignaciones de roles integrados: ninguno

  • Asignaciones de roles personalizados: tiene privilegios para ejecutar HealthcareDemo.ps1 para realizar tanto la admisión del paciente como el alta.

  • Ámbito: grupo de recursos

Auditor

El auditor evalúa el cumplimiento de la solución. No tienen ningún acceso directo a la red.

  • Asignaciones de roles integrados: Lector

  • Asignaciones de roles personalizados: N/D

  • Ámbito: suscripción

Ejemplo de caso de uso

El caso de uso de ejemplo incluido con este proyecto muestra cómo se puede utilizar para habilitar el aprendizaje automático y el análisis de datos médicos en la nube. Contosoclinic es un hospital pequeño que se encuentra en Estados Unidos. Los administradores de red del hospital desean usar Azure Machine Learning Studio para predecir mejor la duración de la estancia del paciente en el momento de la admisión, con el fin de aumentar la eficiencia operativa de la carga de trabajo y mejorar la calidad de la atención que esto puede proporcionar.

Predicción de la duración de la estancia

El escenario del caso de uso de ejemplo utiliza Azure Machine Learning Studio para predecir la duración de la estancia del paciente recién admitido comparando los detalles médicos tomados en la admisión de pacientes con datos históricos agregados de pacientes anteriores. El proyecto incluye un conjunto grande de historiales médicos anonimizados para demostrar las funcionalidades de predicción y de entrenamiento de la solución. En una implementación de producción, los clientes utilizarían sus propios historiales para entrenar la solución con el fin de obtener predicciones más precisas que reflejen los detalles únicos del entorno, las instalaciones y los pacientes.

Usuarios y roles

Administrador del sitio: Alex

Email: Alex_SiteAdmin

El trabajo de Alex consiste en evaluar las tecnologías que puedan reducir la carga de la administración de una red local y reducir los costos de administración. Alex ha estado evaluando Azure durante algún tiempo, pero se encontró con problemas al configurar los servicios que necesita para cumplir los requisitos de cumplimiento de las normas HiTrust para almacenar datos de pacientes en la nube. Alex ha seleccionado la tecnología de inteligencia artificial sobre datos médicos de Azure para implementar una solución de datos médicos preparada en materia de cumplimiento y que proporciona los requisitos necesarios para el cumplimiento de clientes en HiTrust.

Científica de datos: Debra

Email: Debra_DataScientist

Debra está a cargo del uso y la creación de modelos que analizan los historiales médicos para brindar información detallada sobre la atención al paciente. Debra utiliza SQL y el lenguaje de programación estadístico R para crear sus modelos.

Analista de base de datos: Danny

Email: Danny_DBAnalyst

Danny es el contacto principal para cualquier asunto relacionado con Microsoft SQL Server, que almacena todos los datos de los pacientes de Contosoclinic. Danny es un administrador experimentado de SQL Server que recientemente se ha familiarizado con Azure SQL Database.

Directora de información médica: Caroline

Caroline trabaja con Chris, el administrador de la línea de atención al paciente y con Debra, la científica de datos, para determinar qué factores afectan a la duración de la estancia de los pacientes. Caroline usa las predicciones de la solución de duración de estancia (LOS) para determinar si se están asignando correctamente los recursos en la red del hospital. Por ejemplo, mediante el panel que proporciona esta solución.

Administrador de la línea de atención al paciente: Chris

Email: Chris_CareLineManager

Como la persona directamente responsable de administrar la admisión y alta de pacientes en Contosoclinic, Chris usa las predicciones generadas por la solución de duración de estancia para asegurarse de que está disponible el personal adecuado para proporcionar la atención necesaria a los pacientes durante su estancia en las instalaciones.

Auditor: Han

Email: Han_Auditor

Han es un auditor certificado con experiencia en auditorías ISO, SOC y HiTrust. Han ha sido contratado para revisar la red de Contosoclinic. Han puede revisar la matriz de responsabilidades del cliente proporcionada por la solución para asegurarse de que el proyecto y la solución de duración de estancia se pueden utilizar para almacenar, procesar y mostrar datos personales confidenciales.

Configuración de diseño

En esta sección se describen las configuraciones predeterminadas y las medidas de seguridad integradas en el proyecto, que se desglosan en:

  • INGESTA de orígenes de datos sin formato incluido el origen de datos FHIR
  • STORE sensitive information
  • Salidas de ANÁLISIS y predicciones
  • INTERACCIÓN con los resultados y las predicciones
  • Administración de la IDENTIDAD en la solución
  • Características habilitadas para la SEGURIDAD

IDENTITY

Azure Active Directory y control de acceso basado en rol (RBAC)

Autenticación:

  • Azure Active Directory (Azure AD) es el directorio de varios inquilinos basado en la nube y el servicio de administración de identidades de Microsoft. Todos los usuarios de la solución se crearon en Azure Active Directory, incluidos los usuarios que acceden a SQL Database.

  • La autenticación para acceder a la aplicación se realiza con Azure AD. Para obtener más información, consulte Integración de aplicaciones con Azure Active Directory.

  • Azure Active Directory Identity Protection detecta posibles vulnerabilidades que afectan a las identidades de la organización, configura respuestas automatizadas a acciones sospechosas detectadas relacionadas con las identidades de la organización e investiga incidentes sospechosos y realiza las acciones adecuadas para resolverlos.

  • El control de acceso basado en rol de Azure (RBAC) permite administrar al detalle el control de acceso de Azure. El acceso a la suscripción está limitado al administrador de dicha suscripción y el acceso a Azure Key Vault está limitado al administrador del sitio. Se requieren contraseñas seguras (12 caracteres como mínimo con al menos una letra en mayúsculas y minúsculas, un número y un carácter especial).

  • Se admite la autenticación multifactor cuando el modificador -enableMFA está habilitado durante la implementación.

  • Las contraseñas expiran transcurridos 60 días cuando el modificador -enableADDomainPasswordPolicy está habilitado durante la implementación.

Papeles:

  • La solución hace uso de los roles integrados para administrar el acceso a los recursos.

  • Se asignan roles integrados específicos de forma predeterminada a todos los usuarios.

Azure Key Vault

  • Los datos almacenados en el almacén de claves incluyen:

    • Clave de Application Insights
    • Clave de acceso del almacenamiento de los datos de los pacientes
    • Cadena de conexión de pacientes
    • Nombre de la tabla de datos de los pacientes
    • Punto de conexión de servicio Web de Azure ML
    • Clave de la API del servicio Azure ML
  • Se configuran directivas de acceso avanzadas según las necesidades

  • Se definen directivas de acceso a Key Vault con los permisos mínimos requeridos para las claves y los secretos

  • Todas las claves y los secretos en Key Vault tienen fechas de expiración

  • Todas las claves de Key Vault están protegidas con HSM [Tipo de clave = clave RSA de 2048 bits protegida con HSM]

  • Se otorgan los permisos necesarios mínimos a todos los usuarios e identidades mediante el control de acceso basado en rol (RBAC)

  • Las aplicaciones no comparten un almacén de claves a menos que confíen entre sí y que necesiten tener acceso a los mismos secretos en tiempo de ejecución

  • Los registros de diagnóstico de Key Vault están habilitados con un período de retención de al menos 365 días.

  • Las operaciones criptográficas permitidas para las claves están restringidas únicamente a las requeridas

INGESTA

Azure Functions

La solución se diseñó para usar Azure Functions para procesar la longitud de ejemplo de los datos de estancia usados en la demostración de análisis. Se han creado tres funcionalidades en las funciones.

1. Importación masiva de datos phi de datos del cliente

Cuando se utiliza el script de demostración. .\HealthcareDemo.ps1 con el modificador BulkPatientAdmission como se describe en Implementación y ejecución de la demostración que ejecuta la siguiente canalización de procesamiento:

  1. Azure Blob Storage: Se carga en el almacenamiento el archivo .csv de ejemplo con los datos de los pacientes
  2. Event Grid: un evento publica los datos en Azure Functions (Importación masiva: evento de blob)
  3. Azure Functions: realiza el procesamiento y almacena los datos en el almacenamiento SQL utilizando la función segura: event(tipo; URL del blob)
  4. Base de datos SQL: el almacén de base de datos de pacientes utiliza etiquetas para la clasificación y el proceso de aprendizaje automático se inicia para entrenar el experimento.

Además, la función de Azure se diseñó para leer y proteger los datos confidenciales designados en el conjunto de datos de ejemplo con las siguientes etiquetas:

  • dataProfile => "ePHI"
  • owner =><Site Administración UPN>
  • environment => "Pilot"
  • department => "Global Ecosystem" El etiquetado se aplicó al conjunto de datos de ejemplo donde los "nombres" del paciente se identificaron como texto no cifrado.

2. Admisión de nuevos pacientes

Cuando se utiliza el script de demostración. .\HealthcareDemo.ps1 con el modificador BulkPatientadmission , como se describe en Implementación y ejecución de la demostración , ejecuta la siguiente canalización de procesamiento: 1. La función de Azure se desencadenó y la función solicita un token de portador desde Azure Active Directory.

2. Key Vault solicitó un secreto asociado al token solicitado.

3. Los roles de Azure validan la solicitud y autorizan la solicitud de acceso a la Key Vault.

4. Key Vault devuelve el secreto, en este caso la cadena de conexión de base de datos SQL.

5. Azure Functions usa la cadena de conexión para conectarse de forma segura a SQL Database y continúa procesando aún más para almacenar datos ePHI.

Para lograr el almacenamiento de los datos, se implementó un esquema de API común después de Fast Healthcare Interoperability Resources (FHIR, pronunciado fire). Se proporcionan a la función los siguientes elementos de intercambio FHIR:

  • Esquema de pacientes incluye la información de "quién" es un paciente.

  • El esquema de observación abarca el elemento central de la atención sanitaria, que se usa para apoyar el diagnóstico, supervisar el progreso, determinar las líneas base y los patrones e incluso capturar características demográficas.

  • Esquema de encuentros incluye los tipos de encuentro; por ejemplo ambulatorio, emergencia, atención domiciliaria, paciente interno y encuentro virtual.

  • Esquema de condiciones incluye información detallada sobre una condición, problema, diagnóstico o cualquier otro evento, situación, problema o concepto clínico que ha llegado a un nivel de atención.

Event Grid

La solución es compatible con Azure Event Grid, un único servicio para administrar el enrutamiento de todos los eventos desde cualquier origen hasta cualquier destino que proporciona:

ALMACENAMIENTO

SQL Database y SQL Server

Cuentas de almacenamiento

  • Los datos en movimiento se transfieren utilizando únicamente TLS/SSL.

  • No se permite el acceso anónimo a los contenedores.

  • Se configuran reglas de alertas para el seguimiento de actividades anónimas.

  • Se requiere HTTPS para tener acceso a los recursos de la cuenta de almacenamiento.

  • Los datos de la solicitud de autenticación se registran y supervisan.

  • Los datos de almacenamiento de blobs se cifran en reposo.

ANÁLISIS

Machine Learning

SEGURIDAD

Azure Security Center

  • Azure Security Center proporciona una visión centralizada del estado de la seguridad de todos los recursos de Azure. De un vistazo, puede comprobar que los controles de seguridad adecuados se hayan implementado y configurado correctamente, así como identificar rápidamente los recursos que requieran atención.

  • Azure Advisor es un consultor en la nube personalizado que ayuda a seguir los procedimientos recomendados para optimizar las implementaciones de Azure. Analiza la configuración de recursos y la telemetría de uso, y recomienda soluciones que pueden ayudar a mejoran la rentabilidad, el rendimiento, la alta disponibilidad y la seguridad de los recursos de Azure.

Application Insights

  • Application Insights es un servicio de Application Performance Management (APM) extensible para desarrolladores web en varias plataformas. Úselo para supervisar la aplicación web en directo. Detecta las anomalías de rendimiento. Incluye herramientas de análisis eficaces que le ayudan a diagnosticar problemas y comprender lo que hacen realmente los usuarios con la aplicación. Está diseñado para ayudarle a mejorar continuamente el rendimiento y la facilidad de uso.

Alertas de Azure

  • Las alertas ofrecen un método de supervisar los servicios de Azure y le permiten configurar condiciones en los datos. Las alertas también proporcionan notificaciones cuando una condición de alerta coincide con los datos supervisados.

Registros de Azure Monitor

Los registros de Azure Monitor son una colección de servicios de administración.