Cet article décrit un exemple d'architecture d'un portail numérique de santé grand public sur Azure qui peut faciliter la communication entre les prestataires de soins de santé et les patients. En outre, cette plateforme pourrait stocker des dossiers médicaux, des images médicales, permettre au patient de suivre ses données d'intégrité, et plus encore.
Architecture
Téléchargez un fichier Visio de cette architecture.
Workflow
- Cette solution utilise l’empreinte globale d’Azure Front Door et les fonctionnalités de sécurité de périphérie d’Azure Web Application Firewall (WAF) pour authentifier les données entrantes.
- Les données authentifiées sont ensuite acheminées par le service Gestion des API Azure (APIM) jusqu’à l’interface front-end pour les utilisateurs sur Azure App Service ou à des API hébergées dans Azure Functions.
Le service de données back-end principal utilisé dans cette architecture est Azure Cosmos DB. Les capacités multimodèles d’Azure Cosmos DB, sa scalabilité et sa sécurité permettent de concevoir tout type de portail de santé consommateur avec une certaine flexibilité. Les données qui ne sont pas dans un format d’enregistrement sont stockées dans Stockage Blob Azure en tant qu’objet. Ces données peuvent être des images médicales, des photos prises par le consommateur, des documents chargés, des données archivées, etc. Le stockage d’objets blob est une option de stockage abordable pour les volumes importants de données non structurées. Ce type de données n’est pas optimisé pour le stockage dans Azure Cosmos DB et peut avoir un impact négatif sur le coût et les performances.
Components
Le blueprint Azure HIPAA HITRUST 9.2 est un blueprint Azure qui utilise Azure Policy. Il permet d’évaluer les contrôles HIPAA HITRUST 9.2 et de déployer un ensemble de stratégies de base pour les charges de travail Azure. Bien que ce blueprint n’offre pas une couverture de conformité complète pour HIPAA HITRUST, il constitue un excellent point de départ et permet d’ajouter des contrôles supplémentaires en cas de besoin. La conformité aux initiatives de stratégie peut également être visualisée dans ce blueprint et dans l’interface de Microsoft Defender pour le cloud.
Azure Front Door permet de gérer le trafic de périphérie à grande échelle et d’améliorer les performances pour les utilisateurs finaux en présentant des points de terminaison dans le monde entier. Cette technologie native cloud ne nécessite aucune licence. Vous payez uniquement ce que vous utilisez. Dans ce scénario de charge de travail, Azure Front Door fait office de point d’entrée pour tout le trafic destiné au portail de santé consommateur.
Azure Web Application Firewall protège les applications contre les attaques courantes issues du web, telles que celles ciblant les vulnérabilités recensées par OWASP, les injections de code SQL, le scripting inter-site, etc. Cette technologie native cloud ne nécessite aucune licence et repose sur un modèle de paiement à l’utilisation.
La Gestion des API Azure facilite la publication, le routage, la sécurisation, la journalisation et l’analytique des API. Que l’API soit utilisée uniquement par l’utilisateur final ou intégrée à un tiers à des fins d’interopérabilité externe, la gestion des API offre une certaine flexibilité dans la façon dont les API sont étendues et présentées.
Azure App Service est un service qui permet d’héberger des services web basés sur HTTP. Il prend en charge un vaste éventail de langages, peut s’exécuter sur Linux ou Windows, permet une intégration complète aux pipelines CI/CD et peut même exécuter des charges de travail de conteneur en tant qu’offre PaaS. En plus d’offrir une intégration native aux services d’identité, de sécurité et de journalisation dans Azure, App Service prend en charge le scale-up et le scale-out. Il peut répondre aux besoins de mise à l’échelle du portail de santé consommateur tout en préservant la conformité. Dans cette architecture, il héberge le portail web front-end.
Azure Function Apps est une solution de plateforme serverless sur Azure qui permet aux développeurs d’écrire du code de calcul à la demande, sans avoir à gérer les systèmes sous-jacents. Dans cette architecture, Azure Functions peut héberger des API et tout travail qui doit être effectué de manière asynchrone, comme l’exécution de travaux périodiques et de statistiques informatiques sur une période de temps donnée.
Azure Cosmos DB est une offre de base de données NoSQL entièrement managée et multimodèle qui offre des temps de réponse à un chiffre et garantit des performances à n’importe quelle échelle. L’emploi d’une structure de données NoSQL se justifie par le fait que chaque utilisateur du système de santé consommateur n’a accès qu’aux données le concernant. Azure Cosmos DB a des capacités de mise à l’échelle quasi illimitées, et peut lire et écrire dans plusieurs régions. Compte tenu de la croissance spectaculaire de la quantité de données collectées par ces types de systèmes de santé consommateur, Azure Cosmos DB peut fournir des niveaux appropriés de sécurité, de vitesse et de mise à l’échelle, que vous ayez 100 utilisateurs actifs ou 1 million.
Azure Key Vault est un service natif Azure qui permet de stocker des secrets, des clés et des certificats et d’y accéder de manière sécurisée. Key Vault permet une sécurité basée sur HSM et un accès audité via des contrôles d'accès basés sur les rôles intégrés à Microsoft Entra. Les applications ne doivent jamais stocker de clés ou de secrets au niveau local. Cette architecture utilise Azure Key Vault pour stocker tous les secrets tels que les clés d’API, mots de passe, clés de chiffrement et certificats.
Azure Active Directory B2C fournit une offre d’identité en tant que service entreprise-consommateur à grande échelle, dont le coût varie en fonction du nombre d’utilisateurs actifs. Dans les applications destinées aux consommateurs comme cette solution, les utilisateurs peuvent apporter leur propre identité, au lieu de créer un compte. Il peut s’agir d’un numéro d’identification sociale, d’un compte e-mail ou du service d’identité d’un fournisseur SAML. Avec cette méthode, l’utilisateur bénéficie ainsi d’une meilleure expérience d’intégration. Le fournisseur de solutions fait uniquement référence aux identités des utilisateurs et n’a pas besoin de les héberger ni de les gérer.
Azure Log Analytics, un outil Azure Monitor Logs, permet d’interroger les informations de diagnostic ou de journalisation pour les trier, les filtrer ou les visualiser. Facturé en fonction de la consommation, ce service est parfait pour l’hébergement des journaux de diagnostic et d’utilisation issus de tous les services de cette solution.
Azure Application Insights, autre fonctionnalité d’Azure Monitor, est le service de gestion des performances des applications (APM) natif dans Azure. Il peut être facilement intégré au service App Service front-end et à l’ensemble du code Azure Functions pour permettre la supervision en direct des applications. Application Insights peut facilement détecter les performances, les anomalies d’utilisabilité et les erreurs directement générées à partir des applications elles-mêmes (pas seulement à partir de la plateforme de calcul qui les héberge).
Les services Azure Communication regroupent des services cloud dotés d’API REST et de SDK de bibliothèque de client qui vous aident à intégrer la communication à vos applications.. Vous pouvez ajouter la communication à vos applications sans être un expert des technologies sous-jacentes telles que l’encodage des médias ou la téléphonie. Dans cette solution, ils permettent d’envoyer des e-mails, des textes ou des appels téléphoniques automatiques relatifs au portail de santé consommateur, notamment des confirmations ou des rappels de rendez-vous.
Azure Notification Hub est un moteur de notifications Push simple et scalable qui permet d’envoyer des notifications à n’importe quelle plateforme mobile. En intégrant un portail de santé consommateur qui utilise une application mobile à Azure Notification Hub, vous disposez d’un moyen économique d’envoyer des notifications aux utilisateurs qui ont installé l’application sur leurs appareils mobiles. Cette architecture permet d’envoyer des notifications aux utilisateurs pour leur rappeler un rendez-vous, la nécessité d’entrer des informations sur des appareils déconnectés, certains objectifs de santé à atteindre, etc.
Microsoft Defender pour le cloud est au cœur de la stratégie de supervision de la sécurité et de gestion de la posture pour l’ensemble de cette solution native Cloud. Microsoft Defender pour le cloud s’intègre à la quasi-totalité des principaux services de la plateforme Azure. Parmi ses fonctionnalités, citons les alertes de sécurité, la détection des anomalies, les recommandations relatives aux bonnes pratiques, les scores de conformité réglementaire et la détection des menaces. Outre le monitoring de la conformité à HIPAA/HITRUST et le monitoring global des bonnes pratiques relatives à Azure Security, cette solution utilise les ensembles de fonctionnalités suivants :
Autres solutions
Le service FHIR Azure dans le cadre des Azure Health Data Services peut être utilisé pour l’interopérabilité des dossiers médicaux, à l’aide des normes de communication HL7 ou FHIR. Ce service doit être utilisé si votre application doit recevoir ou transmettre des dossiers médicaux à partir d’autres systèmes. Par exemple, si cette solution était un portail pour les prestataires médicaux, l’API Azure pour FHIR pourrait s’intégrer directement au système électronique de gestion des dossiers médicaux du prestataire.
Azure IoT Hub est un service adapté à l’ingestion des données d’appareil. Si le portail est la partie front end d’une solution qui collecte des données à partir d’un appareil de type wearable ou de tout autre appareil médical, IoT Hub doit être utilisé pour ingérer ces données. Pour plus d’informations, consultez le processus INGEST de l’architecture des solutions de supervision des patients à distance.
Microsoft 365 Email est un service de pointe utilisé pour le courrier électronique et les communications. De nombreuses organisations ont déjà investi dans ce service, lequel peut être utilisé comme alternative aux services Azure Communication plus complets. Cette solution permet d’envoyer des e-mails relatifs au portail de santé consommateur, notamment des e-mails de confirmation ou de rappel de rendez-vous.
Détails du scénario
Dans le secteur de la santé et des sciences de la vie, les entreprises adoptent une stratégie de santé numérique. Un portail de santé consommateur est un composant nécessaire et l’un des principaux piliers d’une solution de santé numérique. Ce portail peut servir à suivre la progression et les statistiques d’un appareil de type wearable, à dialoguer avec un prestataire médical ou même à faire le suivi des habitudes alimentaires saines.
Cas d’usage potentiels
- Suivre les statistiques d’un appareil de type wearable.
- Accéder aux dossiers médicaux et dialoguer avec un prestataire médical.
- Entrer les heures et les doses des médicaments, ce qui peut être utile pour le renouvellement ou l’auto-suivi.
- Interagir avec un coach en alimentation saine pour perdre du poids ou gérer le diabète.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Disponibilité
Cette solution est actuellement conçue comme un déploiement sur une seule région. Si votre scénario nécessite un déploiement dans plusieurs régions pour assurer la haute disponibilité, la récupération d’urgence ou même la proximité, il est possible que vous ayez besoin d’une région Azure jumelée avec les configurations suivantes.
Azure Cosmos DB est étendu pour activer une configuration multirégion.
La Gestion des API Azure est déployée avec CI/CD dans une région secondaire. Vous pouvez également appliquer la fonctionnalité de déploiement multirégion de Gestion des API.
Azure App Service et Functions sont déployés séparément dans des régions. Vous pouvez effectuer ce déploiement dans votre pipeline CI/CD en créant un déploiement en parallèle. Pour plus d’informations, consultez l’application web multirégion hautement disponible.
En fonction de l’exigence de l’objectif de temps de récupération (RTO), vous pouvez configurer le Stockage Blob Azure en tant que stockage géoredondant (GRS) ou stockage géoredondant avec accès en lecture (RA-GRS) qui autorise les lectures directement à partir de l’autre région. Pour en savoir plus, consultez l’article sur la redondance de Stockage Azure.
Plusieurs couches de disponibilité et de redondance sont intégrées au service Azure Key Vault.
Sécurité
La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.
Les sections suivantes décrivent les bonnes pratiques en matière de sécurité pour chacun des services utilisés dans cette solution.
Azure Front Door
Le pare-feu Web Application Firewall (WAF) d’Azure Front Door doit être utilisé pour contrer bon nombre d’attaques courantes. Une bon point de départ consiste à utiliser la dernière version des ensembles de règles de base (CRS) de l’Open Web Application Security Project (OWASP), puis à ajouter des stratégies personnalisées si nécessaire. Bien qu’Azure Front Door soit conçu pour absorber de grandes quantités de trafic, envisagez d’utiliser les mécanismes de mise en cache disponibles avec ce service pour réduire la charge de trafic vers les systèmes de back-end dans la mesure du possible. Pour la résolution des problèmes et la prise en charge des investigations de sécurité potentielles, configurez la journalisation pour Azure Front Door et Web Application Firewall. Pour plus d’informations, consultez les pratiques de sécurité pour Azure Front Door.
Gestion des API Azure
Tout le trafic destiné à APIM doit être authentifié à l’aide de l’authentification APIM Azure AD B2C ou avec des sessions identifiées par jeton. Configurez la gestion des API Azure pour stocker les journaux de ressources. Pour plus d’informations, consultez les pratiques de sécurité pour la Gestion des API Azure.
Azure App Service
Tout le trafic destiné à cette architecture, y compris App Service, doit être sécurisé de bout en bout avec TLS. App Service doit refuser les protocoles non sécurisés pour réduire la surface d’attaque. Par ailleurs, APIM doit repasser l’authentification du client à App Service pour lui permettre d’effectuer la validation par rapport à ses propres fonctions d’authentification et d’autorisation de client. Tous les secrets utilisés dans App Service doivent être stockés dans Key Vault à l’aide d’une identité de service managée dans la mesure du possible. App Service doit également stocker les journaux de diagnostic pour prendre en charge les efforts de diagnostic de sécurité et doit être intégré à Microsoft Defender pour App Service. Pour plus d’informations, consultez les pratiques de sécurité pour Azure App Service.
Azure Functions
Toutes les demandes adressées à Azure Functions dans cette solution doivent exiger le protocole HTTPS, utiliser la Gestion des API Azure pour authentifier les demandes et utiliser les identités managées par si possible. Stockez toutes les clés dans Azure Key Vault au lieu de les laisser dans le code de la fonction. Comme pour n’importe quelle application, veillez à valider les données à l’entrée et à procéder à l’intégration à Microsoft Defender pour le cloud. Enfin, veillez toujours à configurer la journalisation et la supervision pour Azure Functions. Pour plus d’informations, consultez les pratiques de sécurité pour Azure Functions.
Stockage Blob Azure
Dans la mesure du possible, limitez l'accès au stockage Blob en utilisant Microsoft Entra ID pour autoriser l'accès des utilisateurs et les identités de service gérées pour l'accès aux ressources au stockage Blob. Si ces types d’authentification ne fonctionnent pas pour votre application, utilisez un jeton de signature d’accès partagé (SAS) au niveau le plus granulaire au lieu d’une clé de compte. Les jetons SAS sont invalidés après la rotation des clés de compte.
Veillez également à utiliser un contrôle d’accès en fonction du rôle pour le stockage d’objets blob. Utilisez des pare-feux dans Stockage Azure pour interdire le trafic réseau autre que celui provenant de services Microsoft approuvés. Intégrez toujours Stockage Azure à Microsoft Defender pour le cloud et configurez la supervision. Pour plus d’informations, consultez les pratiques de sécurité pour Stockage Blob Azure.
Azure Cosmos DB
Les contrôles d’accès en fonction du rôle doivent être activés pour la gestion d’Azure Cosmos DB. L’accès aux données dans Azure Cosmos DB doit être sécurisé de manière appropriée. Vous pouvez configurer Azure Cosmos DB de manière à stocker les journaux de diagnostic pour les opérations du plan de contrôle et stocker les journaux de ressources. Pour plus d’informations, consultez Pratiques de sécurité pour Azure Cosmos DB.
Azure Key Vault
Les demandes adressées à Azure Key Vault doivent être authentifiées à l'aide de Microsoft Entra ID ou MSI en plus des contrôles d'accès privilégiés. Intégrez Key Vault à Microsoft Defender pour le cloud tout en journalisant les actions Key Vault dans Azure Monitor. Pour plus d’informations, consultez les pratiques de sécurité pour Azure Key Vault.
Azure AD B2C
Utilisez les fonctionnalités intégrées dans Azure AD B2C pour vous protéger contre les menaces telles que les attaques par déni de service et par mot de passe. Configurez la journalisation d’audit pour autoriser les investigations de sécurité et créer des alertes de journal pour les journaux de gestion des menaces générés par B2C. Pour plus d’informations, consultez les pratiques de sécurité pour Azure AD B2C.
Azure Log Analytics
Les contrôles d’accès en fonction du rôle doivent être en place pour Log Analytics afin de permettre uniquement aux utilisateurs autorisés d’accéder aux données envoyées à l’espace de travail. Pour plus d’informations, consultez les pratiques de sécurité pour Azure Log Analytics.
Azure Application Insights
Les données personnelles doivent être obfusquées avant d’être envoyées à Application Insights. Les contrôles d’accès en fonction du rôle pour Application Insights doivent également être mis en place pour permettre uniquement aux utilisateurs autorisés d’afficher les données envoyées à Application Insights. Pour plus d’informations, consultez les pratiques de sécurité pour Azure Application Insights.
Consultez également les pratiques de sécurité pour Azure Notification Hub.
Optimisation des coûts
L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
Le prix de cette architecture dépend en grande partie des niveaux de services que vous utilisez, de la capacité, du débit, des types de requêtes effectuées sur les données, du nombre d’utilisateurs, mais aussi de la continuité d’activité et de la reprise d’activité. Le prix de départ est d’environ 2 500 $ par mois.
Pour commencer, vous pouvez consulter l’estimation générique de la calculatrice Azure ici.
En fonction de l’échelle de votre charge de travail et de vos exigences en matière de fonctionnalités d’entreprise, l’utilisation du niveau de consommation de Gestion des API Azure peut réduire le coût.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Matt Hansen | Architecte du programme cloud
Étapes suivantes
- Learn more about Service Azure FHIR
- En savoir plus sur les Azure Health Data Services.
- Découvrez-en plus sur la publication d’API internes en externe.
Ressources associées
- Guide d'architecture Azure Health Data Services
- IA des données d’intégrité conformes à HIPAA et HITRUST
- Applications cloud évolutives et ingénierie de fiabilité du site (SRE)
- Application web redondante interzone de base hautement disponible
- Application web redondante interzone de base
- Application web multirégion hautement disponible