Azure의 소비자 상태 포털

Azure App Service
Azure 기능
Azure 웹 애플리케이션 방화벽

이 문서에서는 Azure Well Architected Framework의 핵심 요소에 맞게 조정된 소비자 상태 포털의 일반적인 아키텍처에 대해 설명합니다. 이 아키텍처는 특정 요구 사항에 맞게 사용자 지정하도록 선택할 수 있습니다.

아키텍처

소비자 상태 포털 아키텍처의 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

  • 이 솔루션은 Azure Front Door의 전역 공간과 Azure WAF(Web Application Firewall)의 에지 보안 기능을 사용하여 인바운드 데이터를 인증합니다.
  • 그런 다음, 인증된 데이터는 APIM(Azure API Management)에서 Azure App Service의 사용자에 대한 프런트 엔드 인터페이스 또는 Azure Functions에서 호스트되는 API로 라우팅됩니다.

이 아키텍처에서 사용되는 기본 백 엔드 데이터 서비스는 Azure Cosmos DB입니다. Azure Cosmos DB의 다중 모델 기능은 확장성 및 보안 외에도 유연성을 모든 유형의 소비자 상태 포털에 허용합니다. 레코드 형식이 아닌 데이터는 Azure Blob Storage에 개체로 저장됩니다. 이 데이터에는 의료 이미지, 소비자가 찍은 사진, 업로드된 문서, 보관된 데이터 등이 포함될 수 있습니다. Blob 스토리지는 대량의 비정형 데이터를 위한 저렴한 스토리지를 제공합니다. 이러한 형식의 데이터는 Azure Cosmos DB의 스토리지에 최적화되지 않으며 비용과 성능에 부정적인 영향을 줄 수 있습니다.

구성 요소

  • Azure HIPAA HITRUST 9.2 청사진Azure Policy를 사용하는 Azure 청사진입니다. HIPAA HITRUST 9.2 제어를 평가하고 Azure 워크로드에 대한 핵심 정책 세트를 배포하는 데 도움이 됩니다. 이는 HIPAA HITRUST에 대한 완전한 규정 준수 범위를 제공하지 않지만 적용 가능하고 필요한 경우 더 많은 제어를 시작하고 추가할 수 있는 적합한 위치입니다. 이 청사진과 클라우드용 Microsoft Defender 인터페이스에서 정책 이니셔티브 준수를 시각화할 수도 있습니다.

  • Azure Front Door는 엔드포인트를 전 세계에 제공하여 대규모 에지 트래픽을 관리하고 최종 사용자의 성능을 높이는 데 사용됩니다. 이 기술은 라이선스가 필요하지 않은 클라우드 네이티브이며, 사용량에 대해서만 비용을 지불합니다. 이 워크로드 시나리오에서 Azure Front Door는 소비자 상태 포털에 대한 모든 트래픽의 수신 지점 역할을 합니다.

  • Azure Web Application FirewallOWASP 취약성, SQL 삽입, 교차 사이트 스크립팅 등과 같은 일반적인 웹 기반 공격으로부터 애플리케이션을 보호합니다. 이 기술은 라이선스가 필요하지 않고 종량제인 클라우드 네이티브입니다.

  • Azure API Management는 API의 게시, 라우팅, 보안, 로깅 및 분석을 지원합니다. 최종 사용자만 사용하거나 외부 상호 운용성을 위해 타사와 통합되는지 여부에 관계없이 API는 API 관리를 통해 API를 확장하고 표시하는 방법을 유연하게 사용할 수 있습니다.

  • Azure App Service는 HTTP 기반 웹 서비스를 호스트하는 데 사용되는 서비스입니다. 다양한 언어를 지원하고, Linux 또는 Windows에서 실행할 수 있으며, CI/CD 파이프라인과 완전히 통합되고, 컨테이너 워크로드를 PaaS 제품으로 실행할 수도 있습니다. App Service를 사용하면 Azure에서 ID, 보안 및 로깅 서비스와 기본적으로 통합할 수 있을 뿐만 아니라 스케일 업 및 스케일 아웃을 모두 사용할 수 있습니다. 규정 준수를 유지하면서 소비자 상태 포털의 크기 조정 요구 사항을 충족할 수 있습니다. 이 아키텍처에서는 프런트 엔드 웹 포털을 호스트합니다.

  • Azure Function 앱은 개발자가 기본 시스템을 유지 관리하지 않고도 compute-on-demand 코드를 작성할 수 있도록 하는 Azure의 서버리스 플랫폼 솔루션입니다. 이 아키텍처에서는 Azure Functions에서 API 및 비동기적으로 수행해야 하는 모든 작업(예: 특정 기간 동안의 주기적 작업 실행 및 통계 계산)을 호스트할 수 있습니다.

  • Azure Cosmos DB는 한 자릿수 응답 시간을 제공하고 모든 규모의 성능을 보장하는 완전 관리형 다중 모델 NoSQL 데이터베이스 제품입니다. 소비자 상태 시스템의 각 사용자는 자신과 관련된 데이터만 갖게 되며, 이에 따라 NoSQL 데이터 구조를 합법적으로 사용할 수 있습니다. Azure Cosmos DB는 거의 무제한 크기 외에도 다중 지역 읽기 및 쓰기를 제공합니다. 이러한 유형의 소비자 상태 시스템에서 수집하는 데이터 양이 급격히 증가함에 따라 Azure Cosmos DB는 활성 사용자가 100명 또는 1,000,000명인지 여부에 관계없이 적절한 보안, 속도, 스케일링을 제공할 수 있습니다.

  • Azure Key Vault는 비밀, 키 및 인증서를 안전하게 저장하고 액세스하는 데 사용되는 Azure 네이티브 서비스입니다. Key Vault는 Microsoft Entra 통합 역할 기반 액세스 제어를 통해 HSM 지원 보안 및 감사된 액세스를 허용합니다. 애플리케이션은 키 또는 비밀을 로컬로 저장하면 안 됩니다. 이 아키텍처에서는 Azure Key Vault를 사용하여 모든 비밀(예: API 키, 암호, 암호화 키 및 인증서)을 저장합니다.

  • Azure Active Directory B2C는 활성 사용자 수에 따라 비용이 조정되는 대규모 B2C(business-to-consumer) 서비스 제공 ID(identity-as-a-service)를 제공합니다. 이 솔루션과 같은 소비자 연결 애플리케이션에서 사용자는 새 계정을 만드는 대신 자신의 ID를 가져올 수 있습니다. 소셜 ID, 이메일 계정 또는 모든 SAML 공급자 ID 서비스에 이르기까지 무엇이든 될 수 있습니다. 이 방법은 사용자에게 더 쉬운 온보딩 환경을 제공합니다. 솔루션 공급자는 사용자 ID만 참조하면 되고, 이를 호스트하고 유지 관리할 필요가 없습니다.

  • Azure Monitor 로그 도구인 Azure Log Analytics는 진단 또는 로깅 정보에 사용할 수 있으며 이 데이터를 쿼리하여 정렬, 필터링 또는 시각화할 수 있습니다. 이 서비스는 사용량에 따라 가격이 책정되며 이 솔루션의 모든 서비스에서 진단 및 사용 현황 로그를 호스트하는 데 적합합니다.

  • Azure Monitor의 또 다른 기능인 Azure Application Insights는 Azure의 네이티브 APM(애플리케이션 성능 관리) 서비스입니다. 프런트 엔드 App Service 및 모든 Azure Functions 코드에 쉽게 통합하여 애플리케이션의 라이브 모니터링을 사용하도록 설정할 수 있습니다. Application Insights는 애플리케이션을 호스트하는 컴퓨팅 플랫폼뿐만 아니라 애플리케이션 자체에서 직접 생성된 성능, 유용성 변칙 및 오류를 쉽게 검색할 수 있습니다.

  • Azure Communication Services 는 애플리케이션에 통신을 통합하는 데 도움이 되는 REST API 및 클라이언트 라이브러리 SDK를 사용하는 클라우드 기반 서비스입니다. 미디어 인코딩이나 전화 통신과 같은 기본 기술에 대한 전문가가 아니어도 애플리케이션에 통신을 추가할 수 있습니다. 이 솔루션에서는 약속 확인 또는 미리 알림과 같은 소비자 상태 포털과 관련된 전자 메일, 텍스트 또는 자동화된 전화 통화를 보내는 데 사용할 수 있습니다.

  • Azure Notification Hub는 모든 모바일 플랫폼에 알림을 보낼 수 있는 간단하고 확장 가능한 푸시 알림 엔진입니다. 모바일 앱을 사용하는 소비자 상태 포털은 Azure Notification Hub와 통합하여 앱을 모바일에 설치한 사용자에게 알림을 푸시하는 비용 효율적인 방법을 제공할 수 있습니다. 이 아키텍처에서는 사용자에게 약속을 미리 알리고, 연결이 끊긴 디바이스에 대한 정보를 입력하고, 특정 건강 목표에 도달하는 등의 알림을 보낼 수 있습니다.

  • 클라우드용 Microsoft Defender)는 이 전체 클라우드 네이티브 솔루션에 대한 보안 모니터링 및 자세 관리의 핵심입니다. 클라우드용 Microsoft Defender는 Azure 플랫폼의 거의 모든 주요 서비스와 통합됩니다. 해당 기능으로 보안 경고, 변칙 검색, 모범 사례 권장 사항, 규정 준수 점수 및 위협 탐지가 있습니다. HIPAA/HITRUST 규정 준수 모니터링 및 전체 Azure 보안 모범 사례 모니터링 외에도 이 솔루션에서 사용하는 기능 세트는 다음과 같습니다.

대안

  • Azure Health Data Services일부로 Azure FHIR 서비스는 HL7 또는 FHIR 통신 표준을 사용하여 의료 기록의 상호 운용성을 위해 사용될 수 있습니다. 애플리케이션에서 다른 시스템의 의료 기록을 받거나 전송해야 하는 경우 이 서비스를 사용해야 합니다. 예를 들어 이 솔루션이 의료 제공자를 위한 포털인 경우 Azure API for FHIR은 제공자의 전자 의료 기록 시스템과 직접 통합될 수 있습니다.

  • Azure IoT Hub는 디바이스 데이터를 수집하기 위해 세밀하게 튜닝되는 서비스입니다. 포털이 착용식 디바이스 또는 기타 의료 디바이스에서 데이터를 수집하는 솔루션에 대한 프런트 엔드인 경우 IoT Hub를 사용하여 이 데이터를 수집해야 합니다. 자세한 내용은 INGEST 아키텍처의 수집 프로세스를 참조하세요.

  • Microsoft 365 Email은 전자 메일 및 통신에 사용되는 업계 최고의 서비스입니다. 많은 조직에서 이미 이 서비스에 투자했으며 더 많은 기능을 갖춘 Azure Communication Services의 대안으로 사용할 수 있습니다. 이 솔루션에서 이 서비스는 약속 확인 또는 미리 알림 이메일과 같은 소비자 상태 포털과 관련된 모든 이메일을 보내는 데 사용할 수 있습니다.

시나리오 정보

건강 및 생명 과학 산업 전반에 걸쳐 조직에서는 디지털 건강 전략을 채택하고 있습니다. 디지털 상태 솔루션의 핵심 요소이며 필수 구성 요소 중 하나는 소비자 상태 포털입니다. 소비자 상태 포털은 착용식 디바이스에서 진행률 및 통계를 추적하거나, 의료 제공자와 협력하거나, 건강한 식습관을 추적하는 데 사용할 수 있습니다.

잠재적인 사용 사례

  • 착용식 디바이스의 통계를 추적합니다.
  • 의료 기록에 액세스하고 의료 제공자와 협력합니다.
  • 약물의 보충 데이터 또는 자가 추적에 사용할 수 있는 약물의 시간과 복용량을 입력합니다.
  • 체중 감량 또는 당뇨병에 대한 건강한 식생활 지도와 상호 작용합니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

가용성

이 솔루션은 현재 단일 지역 배포로 설계되었습니다. 시나리오에서 고가용성, 재해 복구 또는 근접성을 위해 다중 지역 배포가 필요한 경우 다음 구성을 사용하는 쌍으로 연결된 Azure 지역이 필요할 수 있습니다.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

다음 섹션에서는 이 솔루션에 사용되는 각 서비스에 대한 보안 모범 사례를 설명합니다.

Azure Front Door

Azure Front Door의 WAF(Web Application Firewall)는 다양한 일반적인 공격을 완화하는 데 사용할 수 있습니다. 적절한 기준은 최신 버전의 OWASP(Open Web Application Security Project) CRS(핵심 규칙 집합)를 사용하여 시작한 다음, 필요에 따라 사용자 지정 정책을 추가하는 것입니다. Azure Front Door는 많은 양의 트래픽을 흡수하도록 설계되었지만, 가능한 경우 이 서비스에서 사용할 수 있는 캐싱 메커니즘을 사용하여 백 엔드 시스템에 대한 트래픽 부하를 줄이는 것이 좋습니다. 문제를 해결하고 잠재적인 보안 조사를 지원하려면 Azure Front Door와 Web Application Firewall 모두에 대해 로깅을 구성해야 합니다. 자세한 내용은 Azure Front Door 보안 사례를 참조하세요.

Azure API Management

APIM에 대한 모든 트래픽은 Azure AD B2C APIM 인증을 사용하거나 토큰 식별 세션을 통해 인증해야 합니다. 리소스 로그를 저장하도록 Azure API Management를 구성합니다. 자세한 내용은 Azure API Management 보안 사례를 참조하세요.

Azure App Service

App Service를 포함하여 이 아키텍처에 대한 모든 트래픽은 TLS를 사용하여 엔드투엔드 방식으로 보호해야 합니다. App Service는 안전하지 않은 프로토콜을 거부하여 공격 표면을 강화해야 합니다. 또한 APIM은 클라이언트의 인증을 App Service에 다시 전달하여 자체 클라이언트 인증 및 권한 부여에 대한 유효성을 검사할 수 있어야 합니다. App Service에서 사용되는 모든 비밀은 가능한 경우 관리 서비스 ID를 사용하여 Key Vault에 저장해야 합니다. 또한 App Service는 진단 로그를 저장하여 보안 진단 작업을 지원해야 하며 Microsoft Defender for App Service와 통합해야 합니다. 자세한 내용은 Azure App Service 보안 사례를 참조하세요.

Azure 기능

이 솔루션의 Azure Functions에 대한 모든 요청은 HTTPS를 요구하고, Azure API Management를 사용하여 요청을 인증하고, 가능한 경우 관리 ID를 사용해야 합니다. 모든 키를 Function 코드에 두지 않고 Azure Key Vault에 저장합니다. 애플리케이션과 마찬가지로 입력할 때 데이터의 유효성을 검사하고 Cloud용 Microsoft Defender와 통합해야 합니다. 마지막으로 항상 Azure Functions에 대한 로깅 및 모니터링을 구성합니다. 자세한 내용은 Azure Functions 보안 사례를 참조하세요.

Azure Blob Storage

가능한 경우 Microsoft Entra ID를 사용하여 사용자 액세스 권한을 부여하고 Blob Storage에 대한 리소스 액세스에 대한 관리 서비스 ID를 사용하여 Blob Storage에 대한 액세스를 제한합니다. 이러한 인증 유형이 애플리케이션에서 작동하지 않을 수 있는 경우 계정 키 대신 가장 세분화된 수준에서 SAS(공유 액세스 서명) 토큰을 사용합니다. 계정 키를 회전하면 SAS 토큰이 무효화됩니다.

Blob 스토리지에 대한 역할 기반 액세스 제어도 사용해야 합니다. Azure Storage 방화벽을 사용하여 신뢰할 수 있는 Microsoft 서비스의 트래픽 이외의 네트워크 트래픽을 허용하지 않습니다. 항상 Azure Storage와 클라우드용 Microsoft Defender를 통합하고 모니터링을 구성합니다. 자세한 내용은 Azure Blob Storage 보안 사례를 참조하세요.

Azure Cosmos DB

Azure Cosmos DB 관리에 역할 기반 액세스 제어를 사용하도록 설정해야 합니다. Azure Cosmos DB의 데이터에 대한 액세스는 적절하게 보호되어야 합니다. Azure Cosmos DB는 컨트롤 플레인 작업에 대한 진단 로그를 저장하고 리소스 로그를 저장하도록 구성할 수 있습니다. 자세한 내용은 Azure Cosmos DB 보안 사례를 참조하세요.

Azure Key Vault

권한 있는 액세스 제어 외에도 Microsoft Entra ID 또는 MSI를 사용하여 Azure Key Vault에 대한 요청을 인증해야 합니다. Azure Monitor에서 Key Vault 작업을 로깅하는 것 외에도 Key Vault를 Cloud용 Microsoft Defender와 통합합니다. 자세한 내용은 Azure Key Vault 보안 사례를 참조하세요.

Azure AD B2C

Azure AD B2C의 기본 제공 기능을 사용하여 서비스 거부 및 암호 기반 공격과 같은 위협으로부터 보호합니다. 보안 조사를 허용하고 B2C에서 생성된 위협 관리 로그에 대한 로그 경고를 만들도록 감사 로깅을 구성합니다. 자세한 내용은 Azure AD B2C 보안 사례를 참조하세요.

Azure Log Analytics

권한 있는 사용자만 작업 영역에 보낸 데이터에 액세스할 수 있도록 Log Analytics에 대한 역할 기반 액세스 제어가 있어야 합니다. 자세한 내용은 Azure Log Analytics 보안 사례를 참조하세요.

Azure Application Insights

모든 개인 데이터는 Application Insights에 보내기 전에 난독 처리해야 합니다. 권한 있는 사용자만 Application Insights에 보낸 데이터를 볼 수 있도록 Application Insights에 대한 역할 기반 액세스 제어도 적용해야 합니다. 자세한 내용은 Azure Application Insights 보안 사례를 참조하세요.

또한 Azure Notification Hub 보안 사례도 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

이 아키텍처에 대한 가격 책정은 결국 사용하게 되는 서비스 계층, 용량, 처리량, 데이터에 대해 수행되는 쿼리 유형, 사용자 수, 비즈니스 연속성 및 재해 복구에 따라 크게 달라집니다. 가격은 약 2,500달러/월부터 시작하여 늘릴 수 있습니다.

여기서 Azure 계산기 일반 견적을 확인하여 시작할 수 있습니다.

워크로드의 규모와 엔터프라이즈 기능에 대한 요구 사항에 따라 Azure API Management 소비 계층을 사용하면 비용을 절감할 수 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

다음 단계