Konsumenthälsoportalen i Azure

Azure App Service
Azure Functions
Azure Web Application Firewall

Den här artikeln beskriver en typisk arkitektur för en konsumenthälsoportal som överensstämmer med grundpelarna i Azure Well Architected Framework. Du kan välja att anpassa den här arkitekturen efter dina specifika behov.

Arkitektur

Diagram över konsumenthälsoportalens arkitektur.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

  • Den här lösningen använder det globala fotavtrycket för Azure Front Door och gränssäkerhetsfunktionerna i Azure Web Application Firewall (WAF) för att autentisera inkommande data.
  • Autentiserade data dirigeras sedan av Azure API Management (APIM) till antingen klientdelsgränssnittet för användarna i Azure App Service eller API:er som finns i Azure Functions.

Den primära serverdelsdatatjänsten som används i den här arkitekturen är Azure Cosmos DB. Funktioner för flera modeller i Azure Cosmos DB, förutom skalbarhet och säkerhet, ger flexibilitet för alla typer av konsumenthälsoportaler. Alla data som inte är i postformat lagras i Azure Blob Storage som ett objekt. Dessa data kan omfatta medicinska bilder, foton tagna av konsumenten, uppladdade dokument, arkiverade data och så vidare. Blob Storage ger en prisvärd lagring för stora volymer ostrukturerade data. Den här typen av data är inte optimerad för lagring i Azure Cosmos DB och kan påverka dess kostnad och prestanda negativt.

Komponenter

  • Azure HIPAA HITRUST 9.2-skissen är en Azure-skiss som använder Azure Policy. Den hjälper dig att utvärdera HIPAA HITRUST 9.2-kontroller och distribuera en grundläggande uppsättning principer för Azure-arbetsbelastningar. Även om detta inte ger fullständig efterlevnadstäckning för HIPAA HITRUST, är det ett bra ställe att börja och lägga till fler kontroller, där det är tillämpligt och nödvändigt. Efterlevnad av principinitiativen kan också visualiseras i den här skissen och i gränssnittet för Microsoft Defender för molnet.

  • Azure Front Door används för att hantera gränstrafik i stor skala och för att öka prestandan för slutanvändare genom att presentera slutpunkter över hela världen. Den här tekniken är molnbaserad, vilket inte kräver någon licensiering. betalar du bara för det du använder. I det här arbetsbelastningsscenariot fungerar Azure Front Door som ingresspunkt för all trafik till konsumenthälsoportalen.

  • Azure Web Application Firewall skyddar program från vanliga webbaserade attacker, till exempel OWASP-sårbarheter , SQL-inmatningar, skript mellan webbplatser och andra. Den här tekniken är molnbaserad, vilket inte kräver någon licensiering och är användningsbaserad.

  • Azure API Management underlättar publicering, routning, skydd, loggning och analys av API:er. Oavsett om API:et endast används av slutanvändaren eller integreras med en tredje part för extern samverkan, ger API-hantering flexibilitet i hur API:er utökas och presenteras.

  • Azure App Service är en tjänst som används som värd för HTTP-baserade webbtjänster. Den stöder en mängd olika språk, kan köras på Linux eller Windows, integreras fullständigt med CI/CD-pipelines och kan till och med köra containerarbetsbelastningar som ett PaaS-erbjudande . App Service möjliggör både uppskalning och utskalning, förutom att ha intern integrering med identitets-, säkerhets- och loggningstjänster i Azure. Den kan uppfylla skalningsbehoven i konsumenthälsoportalen samtidigt som efterlevnaden upprätthålls. I den här arkitekturen är den värd för klientwebbportalen.

  • Azure Function Apps är en serverlös plattformslösning i Azure som gör det möjligt för utvecklare att skriva kod på begäran utan att behöva underhålla något av de underliggande systemen. I den här arkitekturen kan Azure Functions vara värd för API:er och allt arbete som behöver utföras asynkront, till exempel att köra periodiska jobb och databehandlingsstatistik under en viss tidsperiod.

  • Azure Cosmos DB är en fullständigt hanterad NoSQL-databas med flera modeller som erbjuder ensiffriga svarstider och garanterar prestanda i valfri skala. Varje användare i konsumenthälsosystemet har endast data relaterade till sig själva, vilket motiverar användningen av en NoSQL-datastruktur. Azure Cosmos DB har nästan obegränsad skalning samt läs- och skrivåtgärder i flera regioner. Med den drastiska ökningen av mängden data som samlas in av dessa typer av konsumenthälsosystem kan Azure Cosmos DB tillhandahålla lämplig säkerhet, hastighet och skala, oavsett om det finns 100 eller 1 000 000 aktiva användare.

  • Azure Key Vault är en inbyggd Azure-tjänst som används för säker lagring och åtkomst till hemligheter, nycklar och certifikat. Key Vault möjliggör HSM-säkerhetskopierad säkerhet och granskad åtkomst via Microsoft Entra-integrerade rollbaserade åtkomstkontroller. Program bör aldrig lagra nycklar eller hemligheter lokalt. Den här arkitekturen använder Azure Key Vault för att lagra alla hemligheter, till exempel API-nycklar, lösenord, kryptografiska nycklar och certifikat.

  • Azure Active Directory B2C tillhandahåller företags-till-konsument-identitet som en tjänst i massiv skala, den kostnad som skalar tillsammans med ditt aktiva användarantal. I konsumentinriktade program som den här lösningen, i stället för att skapa ett nytt konto, kanske användarna vill ta med sin egen identitet. Det kan vara allt från ett socialt ID, till ett e-postkonto eller en SAML-provideridentitetstjänst. Den här metoden ger en enklare registreringsupplevelse för användaren. Lösningsleverantören behöver bara referera till användaridentiteterna och behöver inte vara värd för och underhålla dem.

  • Azure Log Analytics, ett Verktyg för Azure Monitor-loggar, kan användas för diagnostik- eller loggningsinformation och för att köra frågor mot dessa data för att sortera, filtrera eller visualisera dem. Den här tjänsten prissätts efter förbrukning och är perfekt för att vara värd för diagnostik- och användningsloggar från alla tjänster i den här lösningen.

  • Azure Application Insights, en annan funktion i Azure Monitor, är den interna APM-tjänsten (Application Performance Management) i Azure. Den kan enkelt integreras i klientdelens App Service och i all Azure Functions-kod för att aktivera liveövervakning av programmen. Application Insights kan enkelt identifiera prestanda, användbarhetsavvikelser och fel som genereras direkt från själva programmen och inte bara från beräkningsplattformen som är värd för dem.

  • Azure Communication Services är molnbaserade tjänster med REST-API:er och klientbiblioteks-SDK:er som hjälper dig att integrera kommunikation i dina program. Du kan lägga till kommunikation till dina program utan att vara expert på underliggande tekniker som mediekodning eller telefoni. I den här lösningen kan den användas för att skicka ut e-postmeddelanden, sms eller automatiserade telefonsamtal relaterade till konsumenthälsoportalen, till exempel bekräftelser av avtalade tider eller påminnelser.

  • Azure Notification Hub är en enkel och skalbar push-meddelandemotor som gör det möjligt att skicka meddelanden till valfri mobil plattform. En konsumenthälsoportal, som använder en mobilapp, kan integreras med Azure Notification Hub för ett kostnadseffektivt sätt att skicka meddelanden till användare som har installerat appen på sina mobiler. I den här arkitekturen kan meddelanden skickas för att påminna användarna om deras avtalade tider, för att ange information för frånkopplade enheter, för att nå vissa hälsomål och så vidare.

  • Microsoft Defender för molnet) är kärnan i säkerhetsövervakning och hållningshantering för hela den här molnbaserade lösningen. Microsoft Defender för molnet integreras med nästan alla större tjänster på Azure-plattformen. Dess funktioner omfattar säkerhetsaviseringar, avvikelseidentifiering, rekommendationer för bästa praxis, regelefterlevnadspoäng och hotidentifiering. Förutom HIPAA/HITRUST-efterlevnadsövervakning och övergripande övervakning av bästa praxis för Azure Security använder den här lösningen följande funktionsuppsättningar:

Alternativ

  • Azure FHIR-tjänsten som en del av Azure Health Data Services kan användas för samverkan mellan medicinska journaler med hjälp av HL7- eller FHIR-kommunikationsstandarder. Den här tjänsten ska användas om ditt program behöver ta emot eller överföra medicinska journaler från andra system. Om den här lösningen till exempel är en portal för medicinska leverantörer kan Azure API för FHIR integreras direkt med leverantörens elektroniska journalsystem.

  • Azure IoT Hub är en tjänst som är finjusterad för inmatning av enhetsdata. Om portalen är klientdelen för en lösning som samlar in data från en bärbar eller någon annan medicinsk enhet bör IoT Hub användas för att mata in dessa data. Mer information finns i INGEST-processen för arkitekturen för fjärrövervakning av patientövervakningslösningar .

  • Microsoft 365 Email är en branschledande tjänst som används för e-post och kommunikation. Många organisationer har redan investerat i den här tjänsten och den kan användas som ett alternativ till de mer kompletta Azure Communication Services. I den här lösningen kan den användas för att skicka ut e-postmeddelanden som är relaterade till konsumenthälsoportalen, till exempel bekräftelse av avtalade tider eller e-postmeddelanden om påminnelser.

Information om scenario

I hela hälso- och life science-branschen antar organisationer en strategi för digital hälsa . En av grundpelarna och en nödvändig komponent i en digital hälsolösning är en konsumenthälsoportal. En konsumenthälsoportal kan användas för att spåra framsteg och statistik från en bärbar enhet, interagera med en medicinsk leverantör eller till och med spåra hälsosamma matvanor.

Potentiella användningsfall

  • Spåra statistik för en bärbar enhet.
  • Få tillgång till medicinska journaler och kontakta en medicinsk leverantör.
  • Ange tider och doser av mediciner, som kan användas för påfyllningsdata eller självspårning av mediciner.
  • Interagera med en hälsosam kost coach för viktminskning eller diabetes.

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillgänglighet

Den här lösningen är för närvarande utformad som en distribution med en region. Om ditt scenario kräver en distribution i flera regioner för hög tillgänglighet, haveriberedskap eller till och med närhet kan du behöva en länkad Azure-region med följande konfigurationer.

  • Azure Cosmos DB utökas för att aktivera en konfiguration för flera regioner.

  • Azure API Management distribueras med CI/CD till en sekundär region. Du kan också använda funktionen för distribution av flera regioner i API Management.

  • Azure App Service och Functions distribueras separat till flera regioner. Den här distributionen kan göras i CI /CD-pipelinen genom att skapa en parallell distribution. Mer information finns i webbprogrammet med hög tillgänglighet i flera regioner.

  • Beroende på kravet på RTO (mål för återställningstid) kan Azure Blob Storage antingen konfigureras som geo-redundant lagring (GRS) eller geo-redundant lagring med läsåtkomst (RA-GRS) som tillåter läsningar direkt från den alternativa regionen. Mer information finns i artikeln om Azure Storage-redundans .

  • Flera lager av tillgänglighet och redundans är inbyggda i Azure Key Vault-tjänsten.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

I följande avsnitt beskrivs metodtipsen för säkerhet för var och en av de tjänster som används i den här lösningen.

Azure Front Door

Azure Front Door's Web Application Firewall (WAF) bör användas för att minimera många olika vanliga attacker. En bra baslinje är att börja med den senaste versionen av OWASP(Open Web Application Security Project) core rule sets (CRS) och sedan lägga till anpassade principer efter behov. Även om Azure Front Door är utformat för att absorbera stora mängder trafik kan du överväga att använda de cachelagringsmekanismer som är tillgängliga med den här tjänsten för att minska trafikbelastningen till serverdelssystemen där det är möjligt. För felsökning och stöd för potentiella säkerhetsundersökningar bör loggning konfigureras för både Azure Front Door och brandväggen för webbprogram. Du kan läsa mer i Säkerhetsmetoder för Azure Front Door.

Azure API Management

All trafik till APIM ska autentiseras, antingen med hjälp av Azure AD B2C APIM-autentisering eller med tokenidentifierade sessioner. Konfigurera Azure API Management för att lagra resursloggar. Du kan läsa mer i Säkerhetsmetoder för Azure API Management.

Azure App Service

All trafik till den här arkitekturen, inklusive App Service, bör skyddas från slutpunkt till slutpunkt med TLS. App Service bör neka osäkra protokoll för att strama åt attackytan. Dessutom bör APIM skicka tillbaka klientens autentisering till App Service så att den kan verifiera mot sin egen klientautentisering och auktorisering. Alla hemligheter som används i App Service ska lagras i Key Vault med hjälp av en hanterad tjänstidentitet där det är möjligt. App Service bör också lagra diagnostikloggar för att stödja eventuella säkerhetsdiagnostikinsatser och bör integreras med Microsoft Defender för App Service. Du kan läsa mer i Säkerhetsmetoder för Azure App Service

Azure Functions

Alla begäranden till Azure Functions i den här lösningen bör kräva HTTPS, använda Azure API Management för att autentisera begäranden och använda hanterade identiteter där det är möjligt. Lagra alla nycklar i Azure Key Vault i stället för att lämna dem i funktionskoden. Precis som med alla program ska du verifiera data vid indata och integrera med Microsoft Defender för molnet. Slutligen konfigurerar du alltid loggning och övervakning för Azure Functions. Du kan läsa mer i Säkerhetsmetoder för Azure Functions.

Azure Blob Storage

Om möjligt begränsar du åtkomsten till bloblagring med hjälp av Microsoft Entra-ID för att auktorisera användaråtkomst och hanterade tjänstidentiteter för resursåtkomst till bloblagring. Om dessa autentiseringstyper kanske inte fungerar för ditt program använder du en SAS-token (Signatur för delad åtkomst) på den mest detaljerade nivån i stället för en kontonyckel. SAS-token är ogiltiga när du har roterat kontonycklar.

Se till att även använda en rollbaserad åtkomstkontroll för bloblagringen. Använd Azure Storage-brandväggar för att neka nätverkstrafik, förutom trafik från betrodda Microsoft-tjänster. Integrera alltid Azure Storage med Microsoft Defender för molnet och konfigurera övervakningen. Du kan läsa mer i Säkerhetsmetoder för Azure Blob Storage.

Azure Cosmos DB

Rollbaserade åtkomstkontroller ska vara aktiverade för Azure Cosmos DB-hantering. Åtkomst till data i Azure Cosmos DB bör skyddas på lämpligt sätt. Du kan konfigurera Azure Cosmos DB för att lagra diagnostikloggar för kontrollplansåtgärder och för att lagra resursloggar. Mer information finns i Säkerhetsrutiner för Azure Cosmos DB.

Azure Key Vault

Begäranden som görs till Azure Key Vault ska autentiseras med Hjälp av Microsoft Entra-ID eller MSI utöver privilegierade åtkomstkontroller. Integrera Key Vault med Microsoft Defender för molnet utöver att logga Key Vault-åtgärder i Azure Monitor. Du kan läsa mer i Säkerhetsmetoder för Azure Key Vault.

Azure AD B2C

Använd de inbyggda funktionerna i Azure AD B2C för att skydda mot hot som denial-of-service och lösenordsbaserade attacker. Konfigurera granskningsloggning för att tillåta säkerhetsundersökningar och skapa loggaviseringar för alla hothanteringsloggar som genereras av B2C. Du kan läsa mer i Säkerhetsmetoder för Azure AD B2C.

Azure Log Analytics

Rollbaserade åtkomstkontroller bör finnas på plats för Log Analytics så att endast behöriga användare kan komma åt data som skickas till arbetsytan. Du kan läsa mer i Säkerhetsmetoder för Azure Log Analytics.

Azure Application Insights

Personliga data bör döljas innan de skickas till Application Insights. Rollbaserade åtkomstkontroller för application insights bör också införas för att endast tillåta behöriga användare att visa data som skickas till Application Insights. Du kan läsa mer i Säkerhetsmetoder för Azure Application Insights.

Se även säkerhetsrutinerna för Azure Notification Hub.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Prissättningen för den här arkitekturen varierar till stor del baserat på de nivåer av tjänster som du slutar använda, kapacitet, dataflöde, typer av frågor som görs på data, antal användare samt affärskontinuitet och haveriberedskap. Det kan börja från cirka $ 2,500 / mo och skala därifrån.

För att komma igång kan du visa den allmänna uppskattningen för Azure-kalkylatorn här.

Beroende på arbetsbelastningens skala och kraven för företagsfunktioner kan förbrukningsnivån för Azure API Management sänka kostnaden.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Nästa steg