W tym artykule opisano przykładową architekturę portalu cyfrowego dla zdrowia konsumentów na platformie Azure, która może ułatwić komunikację między dostawcami opieki zdrowotnej a pacjentami. Ponadto ta platforma może przechowywać dokumentację medyczną, obrazy medyczne, umożliwiać pacjentowi śledzenie danych zdrowotnych i nie tylko.
Architektura
Pobierz plik programu Visio z tą architekturą.
Przepływ pracy
- To rozwiązanie używa globalnego śladu usługi Azure Front Door i funkcji zabezpieczeń brzegowych usługi Azure Web Application Firewall (WAF) do uwierzytelniania danych przychodzących.
- Uwierzytelnione dane są następnie kierowane przez usługę Azure API Management (APIM) do interfejsu frontonu dla użytkowników w usłudze aplikacja systemu Azure Lub interfejsów API hostowanych w usłudze Azure Functions.
Podstawowa usługa danych zaplecza używana w tej architekturze to Azure Cosmos DB. Możliwości wielomodelowe usługi Azure Cosmos DB, oprócz skalowalności i zabezpieczeń, umożliwiają elastyczność dowolnego typu portalu kondycji konsumentów. Wszystkie dane, które nie są w formacie rekordu, są przechowywane w usłudze Azure Blob Storage jako obiekt. Te dane mogą obejmować obrazy medyczne, zdjęcia wykonane przez konsumenta, przekazane dokumenty, zarchiwizowane dane itd. Usługa Blob Storage zapewnia przystępny cenowo magazyn dla dużych ilości danych bez struktury. Taki typ danych nie jest zoptymalizowany pod kątem magazynu w usłudze Azure Cosmos DB i może negatywnie wpłynąć na koszty i wydajność.
Składniki
Strategia azure HIPAA HITRUST 9.2 to strategia platformy Azure korzystająca z usługi Azure Policy. Pomaga ocenić mechanizmy kontroli HIPAA HITRUST 9.2 i wdrożyć podstawowy zestaw zasad dla obciążeń platformy Azure. Chociaż nie zapewnia to pełnego pokrycia zgodności dla HIPAA HITRUST, jest to doskonałe miejsce do rozpoczęcia i dodania kolejnych mechanizmów kontroli, w stosownych przypadkach i niezbędnych. Zgodność z inicjatywami zasad można również wizualizować w tej strategii i w interfejsie Microsoft Defender dla Chmury.
Usługa Azure Front Door służy do zarządzania ruchem brzegowym na dużą skalę i zwiększania wydajności dla użytkowników końcowych przez prezentowanie punktów końcowych na całym świecie. Ta technologia jest natywna dla chmury, która nie wymaga żadnych licencji; płacisz tylko za to, czego używasz. W tym scenariuszu obciążenia usługa Azure Front Door służy jako punkt wejścia dla całego ruchu do portalu kondycji konsumentów.
Usługa Azure Web Application Firewall chroni aplikacje przed typowymi atakami internetowymi, takimi jak luki w zabezpieczeniach OWASP , iniekcje SQL, wykonywanie skryptów między witrynami i inne. Ta technologia jest natywna dla chmury, która nie wymaga licencjonowania i jest płatna zgodnie z rzeczywistym użyciem.
Usługa Azure API Management ułatwia publikowanie, routing, zabezpieczanie, rejestrowanie i analizę interfejsów API. Niezależnie od tego, czy interfejs API jest używany tylko przez użytkownika końcowego, czy zintegrowany z inną stroną na potrzeby współdziałania zewnętrznego, usługa API Management zapewnia elastyczność w sposobie rozszerzania i prezentowania interfejsów API.
aplikacja systemu Azure Service to usługa używana do hostowania usług internetowych opartych na protokole HTTP. Obsługuje szeroką gamę języków, można uruchamiać w systemie Linux lub Windows, w pełni integrować się z potokami ciągłej integracji/ciągłego wdrażania, a nawet uruchamiać obciążenia kontenerów jako ofertę PaaS . Usługa App Service umożliwia skalowanie w górę i w poziomie oprócz natywnej integracji z usługami tożsamości, zabezpieczeń i rejestrowania na platformie Azure. Jest w stanie sprostać potrzebom skalowania portalu kondycji konsumentów przy zachowaniu zgodności. W tej architekturze hostuje portal internetowy frontonu.
Aplikacje funkcji platformy Azure to rozwiązanie bezserwerowe na platformie Azure, które umożliwia deweloperom pisanie kodu obliczeniowego na żądanie bez konieczności obsługi dowolnego z systemów bazowych. W tej architekturze usługa Azure Functions może hostować interfejsy API i wszelkie prace, które należy wykonać asynchronicznie, takie jak uruchamianie okresowych zadań i statystyk obliczeniowych w określonym czasie.
Azure Cosmos DB to w pełni zarządzana, wielomodelowa oferta bazy danych NoSQL, która oferuje czasy odpowiedzi z jedną cyfrą i gwarantuje wydajność w dowolnej skali. Każdy użytkownik w systemie kondycji konsumentów będzie miał tylko dane powiązane z sobą, co uzasadnia użycie struktury danych NoSQL. Usługa Azure Cosmos DB ma niemal nieograniczoną skalę, a także odczyt i zapis w wielu regionach. W przypadku drastycznego wzrostu ilości danych zebranych przez tego typu systemy kondycji konsumentów usługa Azure Cosmos DB może zapewnić odpowiednie zabezpieczenia, szybkość i skalę, niezależnie od tego, czy istnieje 100, czy 1000 000 aktywnych użytkowników.
Azure Key Vault to natywna usługa platformy Azure używana do bezpiecznego przechowywania i uzyskiwania dostępu do wpisów tajnych, kluczy i certyfikatów. Usługa Key Vault umożliwia zabezpieczenia oparte na module HSM i inspekcję dostępu za pośrednictwem zintegrowanej kontroli dostępu opartej na rolach firmy Microsoft. Aplikacje nigdy nie powinny przechowywać kluczy ani wpisów tajnych lokalnie. Ta architektura używa usługi Azure Key Vault do przechowywania wszystkich wpisów tajnych, takich jak klucze interfejsu API, hasła, klucze kryptograficzne i certyfikaty.
Usługa Azure Active Directory B2C zapewnia tożsamość biznesową jako usługę na dużą skalę— koszt skalowania wraz z liczbą aktywnych użytkowników. W aplikacjach przeznaczonych dla konsumentów, takich jak to rozwiązanie, zamiast tworzyć nowe konto, użytkownicy mogą chcieć korzystać z własnej tożsamości. Może to być dowolny identyfikator społecznościowy, konto e-mail lub dowolna usługa tożsamości dostawcy SAML. Ta metoda zapewnia użytkownikowi łatwiejsze środowisko dołączania. Dostawca rozwiązań musi odwoływać się tylko do tożsamości użytkowników i nie musi ich hostować i obsługiwać.
Usługa Azure Log Analytics, narzędzie dzienników usługi Azure Monitor, może służyć do informacji diagnostycznych lub rejestrowania oraz wykonywania zapytań dotyczących tych danych w celu sortowania, filtrowania lub wizualizowania ich. Ta usługa jest wyceniana według zużycia i doskonale nadaje się do hostowania dzienników diagnostycznych i użycia ze wszystkich usług w tym rozwiązaniu.
aplikacja systemu Azure Insights, inną funkcją usługi Azure Monitor, jest natywna usługa zarządzania wydajnością aplikacji (APM) na platformie Azure. Można ją łatwo zintegrować z usługą App Service frontonu i we wszystkich kodzie usługi Azure Functions, aby umożliwić monitorowanie na żywo aplikacji. Usługa Application Insights może łatwo wykrywać wydajność, anomalie użyteczności i błędy generowane bezpośrednio na podstawie samych aplikacji, a nie tylko z platformy obliczeniowej, która je hostuje.
Usługi Azure Communication Services to usługi oparte na chmurze z interfejsami API REST i zestawami SDK bibliotek klienta, które ułatwiają integrację komunikacji z aplikacjami. Możesz dodać komunikację do aplikacji bez konieczności bycia ekspertem w zakresie podstawowych technologii, takich jak kodowanie multimediów lub telefonia. W tym rozwiązaniu można użyć go do wysyłania wiadomości e-mail, tekstów lub zautomatyzowanych połączeń telefonicznych związanych z portalem kondycji konsumentów, takich jak potwierdzenia terminu lub przypomnienia.
Usługa Azure Notification Hub to prosty i skalowalny aparat powiadomień wypychanych, który umożliwia wysyłanie powiadomień do dowolnej platformy mobilnej. Portal kondycji konsumentów, który korzysta z aplikacji mobilnej, może zintegrować się z usługą Azure Notification Hub w celu uzyskania ekonomicznego sposobu wypychania powiadomień do użytkowników, którzy zainstalowali aplikację na swoich urządzeniach przenośnych. W tej architekturze powiadomienia mogą być wysyłane w celu przypomnienia użytkownikom o swoich terminach, wprowadzania informacji dotyczących odłączonych urządzeń, osiągnięcia określonych celów dotyczących kondycji itd.
Microsoft Defender dla Chmury) jest podstawą monitorowania zabezpieczeń i zarządzania stanem dla całego rozwiązania natywnego dla chmury. Microsoft Defender dla Chmury integruje się z prawie wszystkimi głównymi usługami na platformie Azure. Jego możliwości obejmują alerty zabezpieczeń, wykrywanie anomalii, zalecenia dotyczące najlepszych rozwiązań, oceny zgodności z przepisami i wykrywanie zagrożeń. Oprócz monitorowania zgodności HIPAA/HITRUST i ogólnego monitorowania najlepszych rozwiązań w zakresie zabezpieczeń platformy Azure to rozwiązanie korzysta z następujących zestawów funkcji:
Alternatywy
Usługa Azure FHIR Service jako część usług Azure Health Data Services może być używana do współdziałania dokumentacji medycznej przy użyciu standardów komunikacyjnych HL7 lub FHIR. Ta usługa powinna być używana, jeśli aplikacja musi otrzymywać lub przesyłać dokumentację medyczną z innych systemów. Jeśli na przykład to rozwiązanie było portalem dla dostawców usług medycznych, usługa Azure API for FHIR może bezpośrednio zintegrować się z elektronicznym systemem dokumentacji medycznej dostawcy.
Usługa Azure IoT Hub to usługa dostosowana do pozyskiwania danych urządzenia. Jeśli portal jest frontonem rozwiązania, które zbiera dane z urządzenia do noszenia lub innego urządzenia medycznego, należy użyć usługi IoT Hub do pozyskiwania tych danych. Aby uzyskać więcej informacji, zapoznaj się z procesem INGEST architektury rozwiązań do monitorowania pacjentów zdalnych .
Microsoft 365 Email to wiodąca w branży usługa używana do obsługi poczty e-mail i komunikacji. Wiele organizacji już zainwestowało w tę usługę i może służyć jako alternatywa dla bardziej w pełni funkcjonalnych usług Azure Communication Services. W tym rozwiązaniu można go użyć do wysyłania wszelkich wiadomości e-mail związanych z portalem kondycji konsumentów, takich jak potwierdzenie terminu lub wiadomości e-mail z przypomnieniem.
Szczegóły scenariusza
W całej branży nauki o zdrowiu i życiu organizacje przyjmują strategię zdrowia cyfrowego. Jednym z podstawowych filarów i niezbędnym składnikiem rozwiązania do zdrowia cyfrowego jest portal zdrowia konsumentów. Portal zdrowia konsumentów może służyć do śledzenia postępu i statystyk z urządzenia do noszenia, angażowania się z dostawcą usług medycznych, a nawet śledzenia zdrowych nawyków żywieniowych.
Potencjalne przypadki użycia
- Śledź statystyki urządzenia do noszenia.
- Uzyskaj dostęp do dokumentacji medycznej i skontaktuj się z dostawcą usług medycznych.
- Wprowadź czasy i dawki leków, które mogą być stosowane do wypełniania danych lub samodzielnego śledzenia leków.
- Interakcja z zdrowym trenerem odżywiania dla utraty wagi lub cukrzycy.
Kwestie wymagające rozważenia
Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.
Dostępność
To rozwiązanie jest obecnie projektowane jako wdrożenie w jednym regionie. Jeśli twój scenariusz wymaga wdrożenia w wielu regionach w celu zapewnienia wysokiej dostępności, odzyskiwania po awarii, a nawet zbliżenia, może być konieczne sparowany region platformy Azure z następującymi konfiguracjami.
Usługa Azure Cosmos DB została rozszerzona w celu włączenia konfiguracji z wieloma regionami.
Usługa Azure API Management jest wdrażana przy użyciu ciągłej integracji/ciągłego wdrażania w regionie pomocniczym. Możesz również zastosować funkcję wdrażania w wielu regionach usługi API Management.
usługa aplikacja systemu Azure i funkcje są wdrażane oddzielnie w wielu regionach. To wdrożenie można wykonać w potoku ciągłej integracji/ciągłego wdrażania, tworząc wdrożenie równoległe. Aby uzyskać więcej wskazówek, przeczytaj aplikację internetową o wysokiej dostępności w wielu regionach.
W zależności od wymagań celu czasu odzyskiwania (cel czasu odzyskiwania) usługa Azure Blob Storage może być skonfigurowana jako magazyn geograficznie nadmiarowy (GRS) lub magazyn geograficznie nadmiarowy dostępny do odczytu (RA-GRS), który umożliwia odczyty bezpośrednio z regionu alternatywnego. Aby dowiedzieć się więcej, zobacz artykuł Dotyczący nadmiarowości usługi Azure Storage.
Wiele warstw dostępności i nadmiarowości jest wbudowanych w usługę Azure Key Vault.
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.
W poniższych sekcjach opisano najlepsze rozwiązania w zakresie zabezpieczeń dla każdej z usług używanych w tym rozwiązaniu.
Azure Front Door
Zapora aplikacji internetowej (WAF) usługi Azure Front Door powinna służyć do eliminowania wielu typowych ataków. Dobrym punktem odniesienia jest rozpoczęcie korzystania z najnowszej wersji podstawowych zestawów reguł open Web Application Security Project (OWASP), a następnie dodanie niestandardowych zasad zgodnie z potrzebami. Chociaż usługa Azure Front Door została zaprojektowana w celu absorbowania dużych ilości ruchu, rozważ użycie mechanizmów buforowania dostępnych w tej usłudze , aby zmniejszyć obciążenie ruchu do systemów zaplecza, jeśli to możliwe. Aby rozwiązać problemy i obsługiwać potencjalne badania zabezpieczeń, rejestrowanie powinno być skonfigurowane zarówno dla usługi Azure Front Door, jak i zapory aplikacji internetowej. Więcej informacji można przeczytać w artykułach Security practices for Azure Front Door (Rozwiązania dotyczące zabezpieczeń dla usługi Azure Front Door).
Usługa Azure API Management
Cały ruch do usługi APIM powinien być uwierzytelniany przy użyciu uwierzytelniania usługi Azure AD B2C APIM lub sesji zidentyfikowanych przez tokeny. Skonfiguruj usługę Azure API Management do przechowywania dzienników zasobów. Więcej informacji można przeczytać w artykułach Security practices for Azure API Management (Rozwiązania zabezpieczeń dla usługi Azure API Management).
Azure App Service
Cały ruch do tej architektury, w tym usługa App Service, powinien być zabezpieczony kompleksowo przy użyciu protokołu TLS. Usługa App Service powinna blokować niezabezpieczone protokoły w celu zaostrzenia obszaru ataków. Ponadto usługa APIM powinna przekazać uwierzytelnianie klienta do usługi App Service, aby umożliwić jej weryfikację względem własnego uwierzytelniania i autoryzacji klienta. Wszystkie wpisy tajne używane w usłudze App Service powinny być przechowywane w usłudze Key Vault przy użyciu tożsamości usługi zarządzanej, jeśli to możliwe. Usługa App Service powinna również przechowywać dzienniki diagnostyczne w celu obsługi wszelkich działań diagnostycznych dotyczących zabezpieczeń i powinna być zintegrowana z usługą Microsoft Defender for App Service. Więcej informacji można przeczytać w artykułach Security practices for aplikacja systemu Azure Service (Rozwiązania dotyczące zabezpieczeń usługi aplikacja systemu Azure Service)
Azure Functions
Wszystkie żądania do usługi Azure Functions w tym rozwiązaniu powinny wymagać protokołu HTTPS, używać usługi Azure API Management do uwierzytelniania żądań i używać tożsamości zarządzanych , jeśli to możliwe. Przechowuj wszystkie klucze w usłudze Azure Key Vault zamiast pozostawiać je w kodzie funkcji. Podobnie jak w przypadku każdej aplikacji, upewnij się, że dane wejściowe są weryfikowane i integrowane z Microsoft Defender dla Chmury. Na koniec zawsze konfiguruj rejestrowanie i monitorowanie dla usługi Azure Functions. Więcej informacji można przeczytać w artykułach Security practices for Azure Functions (Rozwiązania dotyczące zabezpieczeń dla usługi Azure Functions).
Azure Blob Storage
Jeśli to możliwe, ogranicz dostęp do magazynu obiektów blob przy użyciu identyfikatora Entra firmy Microsoft w celu autoryzowania dostępu użytkowników i tożsamości usługi zarządzanej na potrzeby dostępu do magazynu obiektów blob. Jeśli te typy uwierzytelniania mogą nie działać dla aplikacji, użyj tokenu sygnatury dostępu współdzielonego (SAS) na najbardziej szczegółowym poziomie, zamiast klucza konta. Tokeny SAS są unieważniane po rotacji kluczy konta.
Upewnij się również, że używasz kontroli dostępu opartej na rolach dla magazynu obiektów blob. Użyj zapór usługi Azure Storage, aby uniemożliwić ruch sieciowy inny niż ruch z zaufanych usług firmy Microsoft. Zawsze integruj usługę Azure Storage z Microsoft Defender dla Chmury i konfiguruj monitorowanie. Więcej informacji można przeczytać w artykułach Security practices for Azure Blob Storage (Praktyki zabezpieczeń dla usługi Azure Blob Storage).
Azure Cosmos DB
Na potrzeby zarządzania usługą Azure Cosmos DB należy włączyć mechanizmy kontroli dostępu opartej na rolach. Dostęp do danych w usłudze Azure Cosmos DB powinien być odpowiednio zabezpieczony. Usługę Azure Cosmos DB można skonfigurować do przechowywania dzienników diagnostycznych dla operacji płaszczyzny sterowania i przechowywania dzienników zasobów. Zobacz więcej szczegółów w temacie Security practices for Azure Cosmos DB (Rozwiązania zabezpieczeń dla usługi Azure Cosmos DB).
Azure Key Vault
Żądania wysyłane do usługi Azure Key Vault powinny być uwierzytelniane przy użyciu identyfikatora Microsoft Entra ID lub tożsamości usługi zarządzanej oprócz kontroli dostępu uprzywilejowanego. Integracja usługi Key Vault z usługą Microsoft Defender dla Chmury oprócz rejestrowania akcji usługi Key Vault w usłudze Azure Monitor. Więcej informacji można przeczytać w artykułach Security practices for Azure Key Vault (Praktyki zabezpieczeń dla usługi Azure Key Vault).
Azure AD B2C
Użyj wbudowanych funkcji w usłudze Azure AD B2C, aby chronić się przed zagrożeniami , takimi jak ataki typu "odmowa usługi" i ataki oparte na hasłach. Skonfiguruj rejestrowanie inspekcji, aby umożliwić badanie zabezpieczeń oraz utworzyć alerty dzienników dla wszystkich dzienników zarządzania zagrożeniami generowanych przez usługę B2C. Więcej informacji można przeczytać w artykułach Security practices for Azure AD B2C (Praktyki zabezpieczeń dla usługi Azure AD B2C).
Dziennik analizy Azure
Kontrola dostępu oparta na rolach powinna być dostępna w usłudze Log Analytics, aby zezwolić tylko autoryzowanym użytkownikom na dostęp do danych wysyłanych do obszaru roboczego. Więcej informacji można przeczytać w artykułach Security practices for Azure Log Analytics (Rozwiązania zabezpieczeń dla usługi Azure Log Analytics).
Azure Application Insights
Wszystkie dane osobowe powinny być zaciemnione przed wysłaniem ich do usługi Application Insights. Należy również wprowadzić mechanizmy kontroli dostępu opartej na rolach dla usługi Application Insights , aby umożliwić tylko autoryzowanym użytkownikom wyświetlanie danych wysyłanych do usługi Application Insights. Więcej informacji można przeczytać w artykułach Security practices for aplikacja systemu Azure Insights (Rozwiązania zabezpieczeń dotyczące aplikacja systemu Azure Insights).
Ponadto zapoznaj się z tematem Rozwiązania dotyczące zabezpieczeń usługi Azure Notification Hub.
Optymalizacja kosztów
Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.
Ceny tej architektury są w dużej mierze zmienne na podstawie warstw usług, z których korzystasz, pojemności, przepływności, typów zapytań wykonywanych na danych, liczby użytkowników, a także ciągłości działania i odzyskiwania po awarii. Może zaczynać się od około $2,500/mo i skali stamtąd.
Aby rozpocząć, możesz wyświetlić ogólne oszacowanie kalkulatora platformy Azure tutaj.
W zależności od skali obciążenia i wymagań dotyczących funkcjonalności przedsiębiorstwa użycie warstwy zużycia usługi Azure API Management może obniżyć koszty.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Matt Hansen | Architekt programu w chmurze
Następne kroki
- Dowiedz się więcej o usłudze Azure FHIR Service
- Dowiedz się więcej o usługach Azure Health Data Services.
- Dowiedz się więcej na temat publikowania wewnętrznych interfejsów API zewnętrznie.
Powiązane zasoby
- Przewodnik po architekturze usług Azure Health Data Services
- Sztuczna inteligencja danych dotyczących kondycji zgodna ze standardem HIPAA i HITRUST
- Skalowalne aplikacje w chmurze i inżynieria niezawodności lokacji (SRE)
- Podstawowa aplikacja internetowa strefowo nadmiarowa o wysokiej dostępności
- Aplikacja internetowa strefowo nadmiarowa wg planu bazowego
- Aplikacja internetowa o wysokiej dostępności w wielu regionach