Plan de sécurité et de conformité Azure - AI et données de santé HIPAA/HITRUST

Vue d’ensemble

Le Blueprint de sécurité et de conformité Azure - AI et données de santé HIPAA/HITRUST propose le déploiement clé en main d’une solution PaaS et IaaS Azure afin d’illustrer comment ingérer, stocker, analyser, interagir, identifier et déployer des solutions de manière sécurisée avec des données de santé tout en respectant les exigences de conformité du secteur. Le plan aide à accélérer l’adoption et l’utilisation du cloud pour les clients avec des données réglementées.

Le Blueprint de sécurité et de conformité Azure - HIPAA/HITRUST Health Data and AI Blueprint fournit des outils et des conseils pour faciliter le déploiement d’un environnement PaaS (Health Insurance Portability and Accountability Act) sécurisé, health Insurance Portability and Accountability Act (HIPAA) et Health Information Trust Alliance (HITRUST) prêt à l’emploi (PaaS) pour l’ingestion, le stockage, l’analyse et l’interaction avec des dossiers médicaux personnels et non personnels dans un environnement cloud sécurisé et multiniveau, déployée en tant que solution de bout en bout.

La solution IaaS montrera comment migrer une solution SQL locale vers Azure et implémenter une station de travail à accès privilégié (Privileged Access Workstation - PAW) pour gérer les services et solutions cloud en toute sécurité. La base de données IaaS SQL Server ajoute des données d'expérimentation potentielles. Elle est importée vers une machine virtuelle SQL IaaS, et cette machine virtuelle utilise un accès authentifié MSI pour interagir avec un service SQL Azure PaaS. Les deux présentent une architecture de référence commune conçue pour simplifier l'adoption de Microsoft Azure. Cette architecture fournie est un exemple de solution qui répond aux besoins des entreprises souhaitant une approche basée sur le cloud visant à réduire la charge et les coûts liés aux déploiements.

La solution est conçue afin de consommer un exemple de jeu de données mis en forme à l’aide de FHIR (Fast Healthcare Interoperability Resources), une norme internationale d’échange d’informations de soins de santé par voie électronique, et de le stocker de manière sécurisée. Les clients peuvent ensuite utiliser Azure Machine Learning Studio pour tirer parti de puissants outils de décisionnel et d’analytique afin de passer en revue les prédictions effectuées sur les exemples de données. En guise d’exemple du genre d’expérience pouvant être facilitée par Azure Machine Learning Studio, le plan inclut un exemple de jeu de données, des scripts et des outils pour la prédiction de la durée du séjour d’un patient dans un hôpital.

Ce plan est destiné à servir de base modulaire. Il pourra être adapté par les clients en fonction de leurs besoins spécifiques, notamment en vue du développement de nouvelles expériences Azure Machine Learning pour résoudre des scénarios de cas d’usage à la fois clinique et opérationnel. Il est conçu pour être sécurisé et conforme lors du déploiement. Toutefois, il incombe aux clients de configurer correctement les rôles et d’implémenter les éventuelles modifications. Notez les points suivants :

  • Ce plan constitue une base de référence ayant pour but d’aider les clients à utiliser Microsoft Azure dans un environnement HITRUST et HIPAA.

  • Bien qu’il ait été conçu pour être aligné avec HIPAA et HITRUST (par le biais de l’infrastructure CSF [Common Security Framework]), il ne doit pas être considéré comme conforme avant d’avoir été certifié par un auditeur externe conformément aux exigences HIPAA et HITRUST.

  • Il incombe aux clients d’effectuer des contrôles de conformité et de sécurité appropriés de toute solution générée à l’aide de cette architecture de base.

Déploiement de l’automatisation

  • Pour déployer la solution, suivez les instructions fournies dans le guide de déploiement.

  • Pour obtenir une présentation rapide du fonctionnement de cette solution, regardez cette vidéo qui explique son déploiement.

  • Vous trouverez un Forum aux questions ici.

  • Diagramme architectural. Le diagramme illustre l’architecture de référence utilisée pour le plan et l’exemple de scénario de cas d’usage.

  • Extension IaaS Cette solution montre comment migrer une solution SQL locale vers Azure et implémenter une station de travail d’accès privilégié pour gérer en toute sécurité les services et solutions basés sur le cloud.

Composants de la solution

L’architecture de base est constituée des éléments suivants :

  • Modèle de menaces Un modèle de menaces complet est fourni au format tm7 pour une utilisation avec Microsoft Threat Modeling Tool. Il présente les composants de la solution, les flux de données entre eux, ainsi que les délimitations d’approbation. Le modèle peut aider les clients à comprendre les points de risque potentiel dans l’infrastructure du système lors du développement de composants Machine Learning Studio ou d’autres modifications.

  • Matrice d’implémentation client Un classeur Microsoft Excel répertorie les exigences HITRUST pertinentes, et explique de quelle manière Microsoft et le client doivent satisfaire chacune d’entre elles.

  • Examen de l’intégrité. La solution a été examinée par les systèmes Coalfire, Inc. La révision et les conseils de conformité de l’intégrité (HIPAA et HITRUST) pour l’implémentation fournissent l’examen de la solution et des considérations relatives à la transformation du blueprint en déploiement prêt pour la production.

Diagramme architectural

Rôles

Le plan définit deux rôles pour les utilisateurs administratifs (opérateurs) et trois rôles pour les utilisateurs membres de la direction et chargés du soin des patients. Un sixième rôle est défini afin de permettre à un auditeur d’évaluer la conformité avec les réglementations HIPAA ou autres. Le contrôle d’accès en fonction du rôle (RBAC) Azure autorise une gestion de l’accès très précise pour chaque utilisateur de la solution par le biais de rôles intégrés et personnalisés. Pour plus d’informations sur RBAC, les rôles et les autorisations, consultez Bien démarrer avec le contrôle d’accès en fonction du rôle dans le portail Azure et Rôles intégrés pour le contrôle d’accès en fonction du rôle Azure.

Administrateur de site

L’administrateur du site est responsable de l’abonnement Azure du client. Il contrôle le déploiement global, mais n’a pas accès aux dossiers des patients.

  • Attributions de rôles par défaut : Propriétaire

  • Attributions de rôles personnalisées : N/A

  • Étendue : Abonnement

Analyste de base de données

L’analyste de base de données gère la base de données et l’instance de SQL Server. Il n’a pas accès aux dossiers des patients.

Data Scientist

Le scientifique des données assure le fonctionnement du service Azure Machine Learning Studio. Il peut importer, exporter et gérer les données, et exécuter des rapports. Il a accès aux données des patients, mais ne dispose pas des privilèges d’administrateur.

Agent principal des renseignements médicaux

L’agent principal des renseignements médicaux rapproche les services informatiques/technologiques et les professionnels de santé d’un établissement de santé. Son travail implique généralement l’utilisation d’analytiques pour déterminer si les ressources sont allouées de façon appropriée au sein d’une organisation.

  • Attributions de rôles intégrées : Aucune

Responsable hiérarchique des soins

Le responsable hiérarchique des soins est directement impliqué dans les soins fournis aux patients. Ce rôle nécessite de surveiller l’état de santé de chaque patient, et de s’assurer que le personnel est disponible pour répondre aux besoins spécifiques des patients. Le responsable hiérarchique des soins est responsable de l’ajout et de la mise à jour des dossiers des patients.

  • Attributions de rôles intégrées : Aucune

  • Attributions de rôles personnalisées : dispose des privilèges nécessaires pour exécuter HealthcareDemo.ps1 afin de procéder aux admissions et aux sorties des patients.

  • Étendue : Groupe de ressources

Auditeur

L’auditeur évalue la conformité de la solution. Ils n’ont aucun accès direct au réseau.

  • Attributions de rôles intégrées : Lecteur

  • Attributions de rôles personnalisées : N/A

  • Étendue : Abonnement

Exemple de cas d’usage

L’exemple de cas d’usage inclus avec ce plan illustre comment vous pouvez l’utiliser pour activer l’apprentissage automatique et l’analytique sur des données de santé dans le cloud. Contosoclinic est un petit hôpital situé aux États-Unis. Les administrateurs du réseau de l’hôpital souhaitent utiliser Azure Machine Learning Studio pour mieux prédire la durée de séjour d’un patient au moment de l’admission, afin d’accroître l’efficacité de la charge de travail opérationnelle et d’améliorer la qualité des soins fournis.

Prédiction de durée du séjour

L’exemple de scénario d’usage utilise Azure Machine Learning Studio pour prédire la durée du séjour d’un nouveau patient en comparant les détails médicaux pris au moment de son admission aux données historiques agrégées à partir de patients précédents. Le plan comprend un jeu étendu de dossiers médicaux anonymes afin d’illustrer les fonctionnalités de formation et de prédiction de la solution. Dans un déploiement de production, les clients utiliseraient leurs propres dossiers pour la formation de la solution, afin de refléter de manière plus précise les caractéristiques uniques de leur environnement, équipements et patients.

Utilisateurs et rôles

Administrateur de site -- Alex

Email : Alex_SiteAdmin

Le travail d’Alex est d’évaluer les technologies susceptibles de réduire la charge de gestion d’un réseau local et de réduire les coûts de gestion. Alex évalue Azure depuis quelque temps, mais il a des difficultés à configurer les services dont il a besoin pour répondre aux exigences de conformité HiTrust relatives au stockage des données des patients dans le cloud. Alex a sélectionné l’AI Azure Health pour déployer une solution de santé conforme et répondant aux exigences des clients pour HiTrust.

Scientifique des données -- Marie

Email : Debra_DataScientist

Marie est responsable de l’utilisation et de la création de modèles qui analysent les dossiers médicaux afin d’obtenir des informations détaillées sur les soins médicaux. Elle utilise SQL et le langage de programmation statistique R pour créer ses modèles.

Analyste de base de données -- Delphine

Email : Danny_DBAnalyst

Delphine est le contact principal pour tout ce qui concerne le serveur Microsoft SQL Server qui stocke toutes les données relatives aux patients pour Contosoclinic. Delphine est une administratrice SQL Server expérimentée qui s’est récemment familiarisée avec Azure SQL Database.

Agent principal des renseignements médicaux -- Caroline

Caroline collabore avec Chris le responsable hiérarchique des soins et Marie la scientifique des données afin d’identifier les facteurs qui ont un impact sur la durée de séjour des patients. Caroline utilise les prédictions fournies par la solution de durée de séjour (DDS) pour déterminer si les ressources sont allouées de manière adéquate dans le réseau de l’hôpital. Elle utilise par exemple le tableau de bord fournie dans cette solution.

Responsable hiérarchique des soins -- Chris

Email : Chris_CareLineManager

En tant que personne responsable de la gestion de l’admission et de la sortie des patients à Contosoclinic, Chris utilise les prédictions générées par la solution DDS pour s’assurer que le personnel adéquat est disponible pour fournir des soins aux patients pendant qu’ils sont à l’hôpital.

Auditeur -- Henri

Email : Han_Auditor

Henri est un auditeur certifié ayant une expérience de l’audit pour ISO, SOC et HiTrust. Il a été embauché pour contrôler le réseau de Contosoclinc. Il peut vérifier la matrice de responsabilités client fournie avec la solution, afin de s’assurer que le plan et la solution DDS peuvent être utilisés pour stocker, traiter et afficher des données personnelles sensibles.

Configuration de la conception

Cette section détaille les mesures de sécurité et les configurations par défaut intégrées au plan pour les éléments suivants :

  • INGESTION des sources de données brutes, notamment la source de données FHIR
  • Stocker des informations sensibles
  • ANALYSE et prédiction des résultats
  • INTERACTION avec les résultats et prédictions
  • Gestion des IDENTITÉS de la solution
  • Fonctionnalités de SÉCURITÉ

IDENTITY

Azure Active Directory et contrôle d’accès en fonction du rôle (RBAC)

Authentification:

  • Azure Active Directory (Azure AD) est le service cloud et multilocataire de gestion des annuaires et des identités, proposé par Microsoft. Tous les utilisateurs de la solution ont été créés dans Azure Active Directory, y compris ceux qui accèdent à la base de données SQL.

  • L’authentification auprès de l’application est effectuée à l’aide d’Azure AD. Pour plus d’informations, consultez Intégration d’applications à Azure Active Directory.

  • Azure Active Directory Identity Protection détecte les vulnérabilités potentielles affectant les identités de votre organisation, configure les réponses automatisées aux actions suspectes détectées liées aux identités de votre organisation et examine les incidents suspects et prend les mesures appropriées pour les résoudre.

  • Le contrôle d’accès en fonction du rôle (RBAC) Azure permet une gestion précise de l’accès pour Azure. L’accès à l’abonnement est limité à l’administrateur des abonnements, et l’accès à Azure Key Vault est limité à l’administrateur de site. Les mots de passe forts (12 caractères au minimum avec au moins une lettre en minuscule/majuscule, un chiffre et un caractère spécial) sont obligatoires.

  • L’authentification multifacteur est prise en charge quand le commutateur -enableMFA est activé pendant le déploiement.

  • Les mots de passe expirent après 60 jours quand le commutateur -enableADDomainPasswordPolicy est activé pendant le déploiement.

Rôles:

  • La solution utilise des rôles intégrés pour gérer l’accès aux ressources.

  • Par défaut, des rôles intégrés spécifiques sont attribués à tous les utilisateurs.

Azure Key Vault

  • Les données stockées dans Key Vault sont les suivantes :

    • Clé Application Insights
    • Clé d’accès au stockage des données sur les patients
    • Chaîne de connexion des patients
    • Nom de la table des données sur les patients
    • Point de terminaison de service web Azure ML
    • Clé API du service Azure ML
  • Les stratégies d’accès avancées sont configurées en fonction des besoins.

  • Les stratégies d’accès à Key Vault sont définies avec des autorisations minimales requises pour les clés et les secrets.

  • Toutes les clés et tous les secrets dans Key Vault ont des dates d’expiration.

  • Toutes les clés dans Key Vault sont protégées par HSM [Type de clé = clé RSA 2048 bits protégée par HSM]

  • Des autorisations minimales requises sont accordées à tous les utilisateurs et à toutes les identités à l’aide du contrôle d’accès en fonction rôle (RBAC).

  • Les applications ne partagent pas un coffre de clés, sauf si elles s’approuvent mutuellement et qu’elles ont besoin d’accéder aux mêmes secrets au moment de l’exécution.

  • Les journaux de diagnostics pour Key Vault sont activés avec une période de rétention d’au moins 365 jours.

  • Les opérations de chiffrement autorisées pour les clés sont limitées à celles qui sont nécessaires.

INGESTION

Azure Functions

La solution a été conçue pour utiliser Azure Functions pour traiter l’exemple de longueur des données de séjour utilisées dans la démonstration d’analytique. Trois capacités dans les fonctions ont été créées.

1. Importation en bloc des données de données client phi

Quand vous utilisez le script de démonstration .\HealthcareDemo.ps1 avec le commutateur BulkPatientAdmission comme décrit dans Le déploiement et l’exécution de la démonstration , il exécute le pipeline de traitement suivant :

  1. Stockage Blob Azure : l’exemple de fichier .csv de données sur les patients est chargé dans le stockage.
  2. Event Grid : l’événement publie les données vers la fonction Azure (importation en bloc - événements d’objet blob).
  3. Fonction Azure : effectue le traitement et stocke les données dans le stockage SQL à l’aide de la fonction sécurisée - événement(type; url blob).
  4. Base de données SQL : le magasin de base de données pour les données sur les patients utilise des balises pour la classification, et le processus ML est déclenché pour effectuer l’expérience d’apprentissage.

En outre, la fonction Azure a été conçue pour lire et protéger les données sensibles désignées dans l’exemple de jeu de données à l’aide des balises suivantes :

  • dataProfile => « ePHI »
  • owner =><Site Administration UPN>
  • environnement => « Pilote »
  • department => « Global Ecosystem » L’étiquetage a été appliqué à l’exemple de jeu de données où les patients 'names' ont été identifiés comme texte clair.

2. Admission de nouveaux patients

Quand vous utilisez le script de démonstration .\HealthcareDemo.ps1 avec le commutateur BulkPatientadmission comme décrit dans Le déploiement et l’exécution de la démonstration , il exécute le pipeline de traitement suivant : 1. Azure Function a déclenché et la fonction demande un jeton de porteur à partir d’Azure Active Directory.

2. Key Vault demandé pour un secret associé au jeton demandé.

3. Les rôles Azure valident la demande et autorisent la demande d’accès au Key Vault.

4. Key Vault retourne le secret, dans ce cas la chaîne de connexion SQL DB.

5. La fonction Azure utilise la chaîne de connexion pour se connecter en toute sécurité à SQL Database et continuer à traiter davantage les données ePHI.

Pour obtenir le stockage des données, un schéma d’API commun a été implémenté après les ressources d’interopérabilité fast Healthcare (FHIR, feu prononcé). Les éléments d’échange FHIR suivants ont été fournis à la fonction :

  • Le schéma de patient fournit des informations sur un patient.

  • Le schéma d’observation couvre l’élément central dans les soins de santé, utilisé pour soutenir le diagnostic, surveiller la progression, déterminer les bases de référence et les modèles et même capturer les caractéristiques démographiques.

  • Le schéma de rencontre couvre les différents types de rencontre, par exemple ambulatoire, urgence, soins à domicile, patient admis en interne et rencontres virtuelles.

  • Le schéma de la condition couvre des informations détaillées sur une condition, un problème, un diagnostic ou autre événement, situation ou concept clinique ayant atteint un niveau nécessitant une attention particulière.

Event Grid

Le solution prend en charge Event Grid, un service unique permettant de gérer le routage de tous les événements de n’importe quelle source vers n’importe quelle destination et assurant :

STOCKAGE

Serveur et base de données SQL

Comptes de stockage

  • Les données en mouvement sont transférées uniquement à l’aide de TLS/SSL.

  • L’accès anonyme n’est pas autorisé pour les conteneurs.

  • Des règles d’alerte sont configurées pour effectuer le suivi des activités anonymes.

  • Le protocole HTTPS est nécessaire pour accéder aux ressources du compte de stockage.

  • Les données de demande d’authentification sont consignées dans les journaux et surveillées.

  • Les données dans le stockage d’objets blob sont chiffrées au repos.

ANALYSE

Machine Learning

SÉCURITÉ

Azure Security Center

  • Azure Security Center offre un aperçu central de l’état de sécurité de toutes vos ressources Azure. Vous pouvez vérifier d’un coup d’œil que les contrôles de sécurité appropriés sont en place et configurés correctement, et vous pouvez identifier rapidement les ressources nécessitant votre attention.

  • Azure Advisor est un conseiller cloud personnalisé qui vous aide à suivre les bonnes pratiques pour optimiser vos déploiements Azure. Il analyse votre télémétrie de configuration et d’utilisation des ressources, puis recommande des solutions qui peuvent vous aider à améliorer la rentabilité, les performances, la haute disponibilité et la sécurité de vos ressources Azure.

Application Insights

  • Application Insights est un service extensible de gestion des performances des applications (APM) destiné aux développeurs web sur de multiples plateformes. Utilisez-le pour analyser votre application web en direct. Il détecte les anomalies de performances. Il intègre de puissants outils d’analyse pour vous aider à diagnostiquer les problèmes et à comprendre ce que font les utilisateurs avec votre application. Il a été conçu pour vous permettre d’améliorer continuellement les performances et la convivialité.

Alertes Azure

  • Les alertes offrent un moyen de superviser les services Azure et vous permettent de configurer des conditions sur les données. Elles fournissent également des notifications quand une condition d’alerte correspond aux données de surveillance.

Journaux d’activité Azure Monitor

Journaux Azure Monitor est un ensemble de services de gestion.