Bearbeiten

Consumer-Health-Portal in Azure

Azure App Service
Azure-Funktionen
Azure Web Application Firewall

In diesem Artikel wird eine gängige Architektur eines Consumer-Health-Portals beschrieben. Dabei werden die Säulen des Azure Well Architected Framework berücksichtigt. Wenn Sie spezielle Anforderungen erfüllen müssen, können Sie diese Architektur anpassen.

Aufbau

Diagramm: Architektur eines Consumer-Health-Portals

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  • Für diese Lösung werden die globalen Ressourcen von Azure Front Door sowie die Edgesicherheitsfeatures von Azure Web Application Firewall (WAF) genutzt, um eingehende Daten zu authentifizieren.
  • Die authentifizierten Daten werden dann von Azure API Management (APIM) entweder an die Front-End-Schnittstelle für die Benutzer in Azure App Service oder an APIs weitergeleitet, die in Azure Functions gehostet sind.

Der primäre Back-End-Datendienst in dieser Architektur ist Azure Cosmos DB. Die Funktionen von Azure Cosmos DB für mehrere Modelle zusätzlich zur Skalierbarkeit und Sicherheit dieses Diensts ermöglichen Flexibilität für jede Art von Consumer-Health-Portal. Alle Daten, die kein Datensatzformat aufweisen, werden in Azure Blob Storage als Objekt gespeichert. Diese Daten können medizinische Bilder, vom Benutzer aufgenommene Fotos, hochgeladene Dokumente, archivierte Daten usw. umfassen. Blobspeicher bietet eine Form kostengünstigen Speichers für große Volumen unstrukturierter Daten. Diese Arten von Daten sind nicht für eine Speicherung in Azure Cosmos DB optimiert, was sich negativ auf Kosten und Leistung auswirken kann.

Komponenten

  • Die Blaupause „Azure HIPAA HITRUST 9.2“ ist eine Blaupause von Azure, die Azure Policy verwendet. Sie unterstützt Sie bei der Bewertung von Kontrollmaßnahmen im Rahmen von HIPAA HITRUST 9.2 und stellt mehrere wichtige Richtlinien für Azure-Workloads bereit. Obwohl keine vollständige Konformität mit HIPAA HITRUST gegeben ist, handelt es sich um einen gut geeigneten Startpunkt. Bei Bedarf und wo erforderlich können Sie dann weitere Steuerungsmöglichkeiten hinzuzufügen. Konformität mit den Richtlinieninitiativen kann in dieser Blaupause und auf der Benutzeroberfläche von Microsoft Defender für Cloud visualisiert werden.

  • Azure Front Door wird zur Verwaltung von skaliertem Edgedatenverkehr und zum Steigern der Leistung für Endbenutzer verwendet, indem Endpunkte auf der ganzen Welt verfügbar gemacht werden. Es handelt sich um eine cloudnative Technologie, für die keine Lizenzierung erforderlich ist. Die Zahlung erfolgt nutzungsbasiert. In diesem Workloadszenario dient Azure Front Door als Eingangspunkt für den gesamten an das Consumer-Health-Portal gerichteten Datenverkehr.

  • Azure Web Application Firewall schützt Anwendungen vor häufig auftretenden webbasierten Angriffen im Zusammenhang mit OWASP-Sicherheitsrisikos, bei Angriffen durch Einschleusung von SQL-Befehlen und bei Cross-Site Scripting. Es handelt sich um eine cloudnative Technologie, für die keine Lizenzierung erforderlich ist. Die Zahlung erfolgt nutzungsbasiert.

  • Azure API Management unterstützt Sie beim Veröffentlichen, beim Routing, beim Schutz, bei der Protokollierung und bei der Analyse von APIs. Unabhängig davon, ob die API nur vom Endbenutzer genutzt wird oder mit einem Drittanbieter integriert ist, um für externe Interoperabilität zu sorgen, ermöglicht API Management Flexibilität dahingehend, wie APIs erweitert und verfügbar gemacht werden.

  • Azure App Service ist ein Dienst, mit dem HTTP-basierte Webdienste gehostet werden. Er unterstützt ein breites Array an Sprachen, kann unter Linux oder Windows ausgeführt werden, kann vollständig mit CI-/CD-Pipelines integriert werden, und er kann sogar Containerworkloads wie PaaS-Angebote ausführen. App Service ermöglicht sowohl das Hochskalieren als auch eine horizontale Skalierung. Außerdem ist eine native Integration mit Identitäts-, Sicherheits- und Protokollierungsdiensten in Azure gegeben. Der Dienst ermöglicht es Ihnen, die Skalierungsanforderungen des Consumer-Health-Portals zu erfüllen, gleichzeitig jedoch auch für Compliance zu sorgen. In dieser Architektur wird das Front-End-Webportal von diesem Dienst gehostet.

  • Bei Azure Functions-Apps handelt es sich um eine serverlose Plattformlösung von Azure, die es Entwicklern ermöglicht, Code zu schreiben, der bedarfsabhängig berechnet wird. Eine Verwaltung der zugrunde liegenden Systeme ist dabei nicht erforderlich. In dieser Architektur kann Azure Functions APIs hosten. Außerdem werden auch alle Aufgaben, die asynchron ausgeführt werden müssen, z. B. das Ausführen regelmäßiger Aufträge und das Berechnen von Statistiken für einen bestimmten Zeitraum, auf dieser Plattform gehostet.

  • Azure Cosmos DB ist ein vollständig verwaltetes NoSQL-Datenbankangebot mit Multimodellfunktionalität, das Antwortzeiten im einstelligen Bereich und Leistung mit beliebiger Skalierung bieten kann. Jeder Benutzer im Consumer-Health-System verfügt so nur über die für jeweils sich selbst relevanten Daten, was die Verwendung einer NoSQL-Datenstruktur rechtfertigt. Azure Cosmos DB bietet nahezu unbegrenzte Skalierbarkeit sowie Lese- und Schreibvorgänge für mehrere Regionen. Angesichts der Tatsache, dass die von diesen Arten von Systemen erfassten Daten drastisch ansteigen, kann Azure Cosmos DB für angemessene Sicherheit, Geschwindigkeit und Skalierung sorgen, unabhängig davon, ob es sich um 100 oder 1.000.000 aktive Benutzer handelt.

  • Azure Key Vault ist ein Azure-nativer Dienst, der für das sichere Speichern und Zugreifen auf Geheimnisse, Schlüssel und Zertifikate verwendet wird. Key Vault ermöglicht HSM-gestützte Sicherheit und überwachten Zugriff über die in Microsoft Entra integrierten rollenbasierten Zugriffssteuerungen. Anwendungen sollten Schlüssel oder Geheimnisse niemals lokal speichern. Diese Architektur verwendet Azure Key Vault zum Speichern aller Geheimnisse wie API-Schlüssel, Kennwörter, kryptografische Schlüssel und Zertifikate.

  • Azure Active Directory B2C bietet Identity-as-a-Service-Lösungen für Unternehmen und Benutzer mit hoher Skalierung. Die Kosten werden entsprechend aktiver Benutzeranzahl skaliert. In konsumentenorientierten Anwendungen wie dieser Lösung können Benutzer eine eigene Identität verwenden, anstatt ein neues Konto zu erstellen. Dabei kann es sich um eine ID aus sozialen Netzwerken, ein E-Mail-Konto oder einen beliebigen Identitätsdienst eines SAML-Anbieters handeln. Diese Methode vereinfacht das Onboarding für Benutzer. Der Lösungsanbieter muss nur auf die Benutzeridentitäten verweisen, er muss sie jedoch nicht hosten und verwalten.

  • Azure Log Analytics, ein Protokollierungstool von Azure Monitor, kann für Diagnose- oder Protokollierungsinformationen sowie für das Abfragen dieser Daten zum Sortieren, Filtern oder Visualisieren verwendet werden. Der Dienst wird nach Verbrauch abgerechnet und eignet sich ideal zum Hosten von Diagnose- und Nutzungsprotokollen aller Dienste dieser Lösung.

  • Azure Application Insights, ein weiteres Feature von Azure Monitor, ist ein nativer Dienst zur Verwaltung der Anwendungsleistung in Azure. Der Dienst kann einfach in die App Service-Front-End-Instanz integriert werden sowie in den gesamten Azure Functions-Code, um die Anwendungen live zu überwachen. Application Insights kann die Leistung problemlos analysieren, Nutzungsanomalien aufdecken und Fehler ermitteln, die direkt von den Anwendungen selbst stammen, nicht nur von der hostenden Computeplattform.

  • Azure Communication Services sind cloudbasierte Dienste mit REST-APIs und Clientbibliothek-SDKs, die Sie dabei unterstützen, Ihre Anwendungen mit Kommunikationsfunktionen auszustatten. Sie können Ihren Anwendungen Kommunikation hinzufügen, ohne sich mit zugrunde liegenden Technologien wie Mediencodierung oder Telefonie auskennen zu müssen. In dieser Lösung kann der Dienst für das Senden von E-Mails, Textnachrichten oder automatisierten Telefonanrufen im Zusammenhang mit dem Consumer-Health-Portal verwendet werden, z. B. zum Bestätigen von Terminen oder für Erinnerungen.

  • Azure Notification Hub ist eine einfache und skalierbare Engine für Pushbenachrichtigungen, die es Ihnen ermöglicht, Benachrichtigungen an beliebige Mobilplattformen zu senden. Ein Gesundheitsportal für Verbraucher, das eine mobile App nutzt, kann in Azure Notification Hub integriert werden. So profitieren Sie von einer kostengünstigen Möglichkeit, Pushbenachrichtigungen an Benutzer zu senden, die die App auf ihren Mobilgeräten installiert haben. In dieser Architektur können Benachrichtigungen gesendet werden, um Benutzer an Termine zu erinnern, Informationen zu getrennten Geräten einzugeben oder um bestimmte Gesundheitsziele zu erreichen.

  • Microsoft Defender for Cloud ist das zentrale Element für die Sicherheitsüberwachung und die Verwaltung des Sicherheitsstatus für die gesamte cloudnative Lösung. Microsoft Defender for Cloud kann mit beinahe allen wichtigen Diensten in der Azure-Plattform integriert werden. Als Funktionen stehen Sicherheitswarnungen, Anomalieerkennung, Empfehlungen von Best Practices, Bewertungen zur Einhaltung von Compliance und Bedrohungserkennung zur Verfügung. Zusätzlich zur Überwachung der Konformität mit HIPAA-/HITRUST und zur allgemeinen Überwachung bewährter Methoden im Hinblick auf Sicherheit in Azure nutzt diese Lösung die folgenden Featuregruppen:

Alternativen

  • Azure FHIR Service als Teil der Azure Health Data Services kann für die Interoperabilität medizinischer Datensätze verwendet werden. Dabei werden HL7- oder FHIR-Standards für die Kommunikation verwendet. Dieser Dienst sollte verwendet werden, wenn Ihre Anwendung medizinische Datensätze aus anderen System empfangen oder an diese senden muss. Wenn es sich beispielsweise bei dieser Lösung um ein Portal für medizinische Anbieter handeln würde, könnte Azure API for FHIR direkt in das elektronische System für medizinische Datensätze des Anbieters integriert werden.

  • Azure IoT Hub ist ein Dienst, der für die Erfassung von Gerätedaten optimiert ist. Wenn es sich beim Portal um das Front-End einer Lösung handelt, bei der Daten eines Wearables oder anderen medizinischen Geräts erfasst werden, sollte IoT Hub für die Erfassung dieser Daten verwendet werden. Lesen Sie sich die Informationen zum INGEST-Prozess im Artikel zur Architektur für Lösungen für die Remote-Patientenüberwachung durch, um mehr zu erfahren.

  • Mit dem E-Mail-Dienst von Microsoft 365 nutzen Sie eine branchenführende Lösung für E-Mail und Kommunikation. Viele Organisationen haben bereits in diesen Dienst investiert, der als Alternative zu den umfassenderen Azure Communication Services verwendet werden kann. In dieser Lösung kann der Dienst für das Senden von E-Mails im Zusammenhang mit dem Consumer-Health-Portal verwendet werden, z. B. zum Bestätigen von Terminen oder in Form von Erinnerungs-E-Mails.

Szenariodetails

In allen Bereichen der gesundheitswissenschaftlichen und biowissenschaftlichen Branche gehen Organisationen zu einer Digital-Health-Strategie über. Einer der Hauptpfeiler und eine notwendige Komponente einer Digital-Health-Lösung ist ein Consumer-Health-Portal. Ein Consumer-Health-Portal kann verwendet werden, um den Fortschritt und die Statistiken eines Wearablegeräts zu überwachen, mit medizinischen Anbietern in Kontakt zu treten oder Informationen zu einer gesunden Ernährungsweise zu erfassen.

Mögliche Anwendungsfälle

  • Überwachen von Statistiken eines Wearablegeräts
  • Zugriff auf medizinische Datensätze und Kontakt mit einem medizinischen Anbieter
  • Eingeben der Häufigkeit und Dosis von Medikamenteneinnahmen als Informationen zum Auffüllen von Daten oder zum eigenständigen Nachverfolgen von Medikationen
  • Interaktion mit einem Ernährungscoach bei Diabetes oder gewünschter Gewichtsabnahme

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Verfügbarkeit

Diese Lösung weist aktuell einen Entwurf als Bereitstellung in einer einzelnen Region auf. Wenn Ihr Szenario aus Gründen der Hochverfügbarkeit, Notfallwiederherstellung oder Nähe eine Bereitstellung in mehreren Regionen erfordert, benötigen Sie möglicherweise gekoppelte Azure-Regionen mit den folgenden Konfigurationen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

In den folgenden Abschnitten werden Best Practices im Hinblick auf die Sicherheit für die Dienste beschrieben, die im Rahmen dieser Lösung verwendet werden.

Azure Front Door

Web Application Firewall (WAF) von Azure Front Door sollte verwendet werden, um viele dieser häufig auftretenden verschiedenen Angriffe abzuwehren. Ein guter Startpunkt ist die Verwendung der aktuellen Versionen der wichtigen Regelsätze des Open Web Application Security Project (OWASP). Fügen Sie dann bei Bedarf benutzerdefinierte Richtlinien hinzu. Obwohl Azure Front Door für die Verarbeitung großer Mengen an Datenverkehr entworfen wurde, sollten Sie die Verwendung von Cachemechanismen in Erwägung ziehen, die für diesen Dienst verfügbar sind, um die Datenverkehrslast für Back-End-Systeme wo möglich zu reduzieren. Sie sollten die Protokollierung konfigurieren, sowohl für Azure Front Door als auch für Web Application Firewall, um Fehler beheben und Sicherheitsuntersuchungen anstellen zu können. Weitere Informationen finden Sie unter Azure-Sicherheitsbaseline für Azure Front Door.

Azure API Management

Der gesamte an APIM gerichtete Datenverkehr sollte authentifiziert werden, entweder mithilfe der APIM-Authentifizierung von Azure AD B2C oder mit per Token identifizierten Sitzungen. Konfigurieren Sie Azure API Management zum Speichern von Ressourcenprotokollen. Weitere Informationen finden Sie unter Azure-Sicherheitsbaseline für API Management.

Azure App Service

Der gesamte an die Architektur gerichtete Datenverkehr einschließlich App Service sollte einen End-to-End-Schutz mit TLS aufweisen. App Service sollte unsichere Protokolle verweigern, um die Angriffsfläche zu verkleinern. Außerdem sollte APIM die Authentifizierung des Clients an App Service zurückgeben, um App Service die Überprüfung der eigenen Clientauthentifizierung und -autorisierung zu ermöglichen. Alle in App Service verwendeten Geheimnisse sollten in Key Vault wenn möglich mithilfe einer verwalteten Dienstidentität gespeichert werden. App Service sollte auch Diagnoseprotokolle speichern, um Diagnosen in Bezug auf die Sicherheit zu unterstützen. Außerdem sollte App Service mit Microsoft Defender für App Service integriert werden. Weitere Informationen finden Sie unter Sicherheit in Azure App Service.

Azure-Funktionen

Für alle Anforderungen an Azure Functions in dieser Lösung sollte HTTPS angefordert werden. Außerdem sollten Azure API Management für die Authentifizierung von Anforderungen und wenn möglich verwaltete Identitäten verwendet werden. Speichern Sie alle Schlüssel in Azure Key Vault, anstatt sie im Funktionscode zu belassen. Sorgen Sie wie bei jeder Anwendung dafür, Daten bei Eingabe zu überprüfen, und nehmen Sie eine Integration mit Microsoft Defender for Cloud vor. Konfigurieren Sie außerdem immer die Protokollierung und Überwachung für Azure Functions. Weitere Informationen finden Sie unter Absichern von Azure Functions.

Azure Blob Storage

Schränken Sie nach Möglichkeit den Zugriff auf Blobspeicher ein, indem Sie Microsoft Entra ID zum Autorisieren des Benutzerzugriffs und verwaltete Dienstidentitäten für den Ressourcenzugriff auf Blobspeicher verwenden. Wenn diese Authentifizierungstypen für Ihre Anwendung nicht geeignet sind, verwenden Sie anstelle eines Kontoschlüssels ein SAS-Token (Shared Access Signature) mit der höchsten Granularität. SAS-Token werden ungültig, wenn Kontoschlüssel rotiert wurden.

Stellen Sie sicher, dass Sie für den Blobspeicher auch eine rollenbasierte Zugriffssteuerung verwenden. Verhindern Sie mit Azure Storage-Firewalls den Netzwerkdatenverkehr, mit Ausnahme desjenigen von vertrauenswürdigen Microsoft-Diensten. Integrieren Sie stets Azure Storage in Microsoft Defender für Cloud, und konfigurieren Sie die Überwachung. Weitere Informationen finden Sie unter Sicherheitsempfehlungen für Blob Storage.

Azure Cosmos DB

Die rollenbasierte Zugriffssteuerung muss für die Azure Cosmos DB-Verwaltung aktiviert sein. Der Zugriff auf Daten in Azure Cosmos DB muss angemessen abgesichert werden. Sie können Azure Cosmos DB für das Speichern von Diagnoseprotokollen für Vorgänge auf Steuerungsebene und das Speichern von Ressourcenprotokollen konfigurieren. Weitere Informationen finden Sie unter Sicherheit bei Azure Cosmos DB – Übersicht.

Azure Key Vault

Anforderungen an Azure Key Vault sollten mit Microsoft Entra ID oder MSI authentifiziert werden. Außerdem sollte eine privilegierte Zugriffssteuerung verwendet werden. Integrieren Sie Key Vault mit Microsoft Defender for Cloud. Nutzen Sie zusätzlich die Protokollierung für Key Vault-Aktionen in Azure Monitor. Weitere Informationen finden Sie unter Azure Key Vault – Sicherheit.

Azure AD B2C

Verwenden Sie die in Azure AD B2C integrierten Features, um einen Schutz vor Bedrohungen wie Denial-of-Service-Angriffen und kennwortbasierten Angriffen sicherzustellen. Konfigurieren Sie die Überwachungsprotokollierung, sodass Sicherheitsuntersuchungen möglich sind, und sorgen Sie außerdem für die Erstellung von Protokollwarnungen für alle von B2C im Zusammenhang mit der Bedrohungsverwaltung erstellten Protokolle. Weitere Informationen finden Sie unter Verwalten von Bedrohungen für Ressourcen in Azure Active Directory B2C.

Azure Log Analytics

Die rollenbasierte Zugriffssteuerung sollte für Log Analytics implementiert werden, damit nur autorisierte Benutzer auf Daten zugreifen können, die an den Arbeitsbereich gesendet werden. Weitere Informationen finden Sie unter Datensicherheit in Log Analytics.

Azure Application Insights

Personenbezogene Daten sollten verschleiert werden, bevor sie an Application Insights gesendet werden. Die rollenbasierte Zugriffssteuerung für Application Insights sollte ebenfalls implementiert werden, damit nur autorisierte Benutzer Daten anzeigen können, die an Application Insights gesendet werden. Weitere Informationen finden Sie unter Wie sicher sind meine Daten?.

Sehen Sie sich außerdem den Artikel Sicherheit von Notification Hubs an.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Die Preise für diese Architektur sind sehr variabel, je nach Dienstebenen der Dienste, die Sie letztlich verwenden, Kapazität, Durchsatz und Abfragetypen für die Daten, Anzahl der Benutzer sowie BCDR-Optionen. Als Ausgangswert ist mit 2.500 US-Dollar/Monat zu rechnen. Auf dieser Grundlage kann skaliert werden.

Sehen Sie sich als ersten Schritt hier die allgemeine Schätzung des Azure-Preisrechners an.

Je nach Skalierung Ihrer Workload und je nach Anforderungen an Unternehmensfunktionen könnte die Verwendung des Verbrauchstarifs von Azure API Management die Kosten etwas senken.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte