Editar

Portal de saúde do consumidor no Azure

Azure App Service
Azure Functions
Azure Web Application Firewall

Este artigo descreve uma arquitetura típica de um portal de saúde do consumidor, que se alinha com os pilares do Azure Well Architected Framework. Você pode optar por personalizar essa arquitetura para atender às suas necessidades específicas.

Arquitetura

Diagrama da arquitetura do portal de saúde do consumidor.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

  • Esta solução usa a pegada global do Azure Front Door e recursos de segurança de borda do Azure Web Application Firewall (WAF) para autenticar os dados de entrada.
  • Os dados autenticados são roteados pelo Gerenciamento de API do Azure (APIM) para a interface front-end dos usuários no Serviço de Aplicativo do Azure ou APIs hospedadas no Azure Functions.

O principal serviço de dados de back-end usado nessa arquitetura é o Azure Cosmos DB. As capacidades multimodelo do Azure Cosmos DB, além da sua escalabilidade e segurança, permitem flexibilidade para qualquer tipo de portal de saúde do consumidor. Todos os dados que não estão em um formato de registro são armazenados no Armazenamento de Blob do Azure como um objeto. Esses dados podem incluir imagens médicas, fotos tiradas pelo consumidor, documentos carregados, dados arquivados e assim por diante. O armazenamento de Blob fornece um armazenamento acessível para grandes volumes de dados não estruturados. Esse tipo de dados não é otimizado para armazenamento no Azure Cosmos DB e pode afetar negativamente seu custo e desempenho.

Componentes

  • Azure HIPAA HITRUST 9.2 blueprint é um blueprint do Azure que usa a Política do Azure. Ele ajuda a avaliar os controles HIPAA HITRUST 9.2 e implantar um conjunto básico de políticas para cargas de trabalho do Azure. Embora isso não ofereça cobertura total de conformidade para HIPAA HITRUST, é um ótimo lugar para começar e adicionar mais controles, quando aplicável e necessário. A conformidade com as iniciativas de política também pode ser visualizada neste plano e na interface do Microsoft Defender for Cloud.

  • O Azure Front Door é usado para gerenciar o tráfego de borda em escala e aumentar o desempenho para usuários finais, apresentando pontos de extremidade em todo o mundo. Esta tecnologia é nativa da nuvem, o que não requer qualquer licenciamento; você só paga pelo que usa. Neste cenário de carga de trabalho, o Azure Front Door serve como o ponto de entrada para todo o tráfego para o portal de saúde do consumidor.

  • O Firewall de Aplicativo Web do Azure protege os aplicativos contra ataques comuns baseados na Web, como vulnerabilidades OWASP , injeções de SQL, scripts entre sites e outros. Esta tecnologia é nativa da nuvem, que não requer qualquer licenciamento e é paga conforme o uso.

  • O Gerenciamento de API do Azure ajuda na publicação, roteamento, proteção, registro em log e análise de APIs. Quer a API esteja a ser utilizada apenas pelo utilizador final ou integrada com terceiros para interoperabilidade externa, a gestão da API permite flexibilidade na forma como as APIs são alargadas e apresentadas.

  • O Serviço de Aplicativo do Azure é um serviço usado para hospedar serviços Web baseados em HTTP. Ele suporta uma ampla gama de idiomas, pode ser executado em Linux ou Windows, integra-se totalmente com pipelines de CI/CD e pode até mesmo executar cargas de trabalho de contêiner como uma oferta de PaaS. O Serviço de Aplicativo permite escalonamento e expansão, além de ter integração nativa com serviços de identidade, segurança e registro em log no Azure. Ele é capaz de atender às necessidades de escala do portal de saúde do consumidor, mantendo a conformidade. Nessa arquitetura, ele hospeda o portal web front-end.

  • O Azure Function Apps é uma solução de plataforma sem servidor no Azure que permite aos programadores escrever código de computação a pedido , sem ter de manter nenhum dos sistemas subjacentes. Nessa arquitetura, o Azure Functions pode hospedar APIs e qualquer trabalho que precise ser feito de forma assíncrona, como a execução de trabalhos periódicos e estatísticas de computação durante um determinado período de tempo.

  • O Azure Cosmos DB é uma oferta de banco de dados NoSQL totalmente gerenciada e multimodelo que oferece tempos de resposta de um dígito e garante desempenho em qualquer escala. Cada usuário do sistema de saúde do consumidor terá apenas dados relacionados a si mesmo, o que justifica o uso de uma estrutura de dados NoSQL. O Azure Cosmos DB tem escala quase ilimitada, bem como leitura e gravação em várias regiões. Com o crescimento drástico da quantidade de dados coletados por esses tipos de sistemas de saúde do consumidor, o Azure Cosmos DB pode fornecer segurança, velocidade e escala adequadas, independentemente de haver 100 ou 1.000.000 de usuários ativos.

  • O Azure Key Vault é um serviço nativo do Azure usado para armazenar e acessar segredos, chaves e certificados com segurança. O Key Vault permite segurança apoiada por HSM e acesso auditado por meio de controles de acesso baseados em função integrados do Microsoft Entra. Os aplicativos nunca devem armazenar chaves ou segredos localmente. Essa arquitetura usa o Azure Key Vault para armazenar todos os segredos, como chaves de API, senhas, chaves criptográficas e certificados.

  • O Azure Ative Directory B2C fornece identidade como serviço entre empresas e consumidores em grande escala, cujo custo é dimensionado juntamente com a sua contagem de usuários ativos. Em aplicativos voltados para o consumidor como esta solução, em vez de criar uma nova conta, os usuários podem querer trazer sua própria identidade. Pode ser qualquer coisa, desde um ID social, até uma conta de e-mail ou qualquer serviço de identidade do provedor SAML. Esse método fornece uma experiência de integração mais fácil para o usuário. O provedor de soluções só precisa fazer referência às identidades de usuário e não precisa hospedá-las e mantê-las.

  • O Azure Log Analytics, uma ferramenta de Logs do Azure Monitor, pode ser usado para informações de diagnóstico ou registro em log e para consultar esses dados para classificá-los, filtrá-los ou visualizá-los. Este serviço tem um preço de acordo com o consumo e é perfeito para hospedar logs de diagnóstico e uso de todos os serviços desta solução.

  • O Azure Application Insights, outro recurso do Azure Monitor, é o serviço nativo de Gerenciamento de Desempenho de Aplicativo (APM) no Azure. Ele pode ser facilmente integrado ao Serviço de Aplicativo front-end e a todo o código do Azure Functions para habilitar o monitoramento ao vivo dos aplicativos. O Application Insights pode detetar facilmente desempenho, anomalias de usabilidade e falhas geradas diretamente dos próprios aplicativos, e não apenas da plataforma de computação que os hospeda.

  • Os Serviços de Comunicação do Azure são serviços baseados na nuvem com APIs REST e SDKs de biblioteca de cliente disponíveis para ajudá-lo a integrar a comunicação em seus aplicativos. Você pode adicionar comunicação aos seus aplicativos sem ser um especialista em tecnologias subjacentes, como codificação de mídia ou telefonia. Nesta solução, ele pode ser usado para enviar e-mails, mensagens de texto ou telefonemas automatizados relacionados ao portal de saúde do consumidor, como confirmações de consultas ou lembretes.

  • O Hub de Notificação do Azure é um mecanismo de notificação por push simples e escalável que permite a capacidade de enviar notificações para qualquer plataforma móvel. Um portal de saúde do consumidor, que usa um aplicativo móvel, pode se integrar ao Hub de Notificação do Azure para obter uma maneira econômica de enviar notificações por push para usuários que instalaram o aplicativo em seus celulares. Nessa arquitetura, as notificações podem ser enviadas para lembrar os usuários de seus compromissos, para inserir informações para dispositivos desconectados, para alcançar determinadas metas de saúde e assim por diante.

  • Microsoft Defender for Cloud) é o núcleo do monitoramento de segurança e gerenciamento de postura para toda essa solução nativa da nuvem. O Microsoft Defender for Cloud integra-se com quase todos os principais serviços na plataforma Azure. Seus recursos incluem alertas de segurança, deteção de anomalias, recomendações de práticas recomendadas, pontuações de conformidade regulatória e deteção de ameaças. Além do monitoramento de conformidade HIPAA/HITRUST e do monitoramento geral de práticas recomendadas de Segurança do Azure, essa solução usa os seguintes conjuntos de recursos:

Alternativas

  • O Serviço FHIR do Azure como parte dos Serviços de Dados de Saúde do Azure pode ser usado para interoperabilidade de registros médicos, usando padrões de comunicação HL7 ou FHIR. Este serviço deve ser usado se o seu aplicativo precisar receber ou transmitir registros médicos de outros sistemas. Por exemplo, se essa solução fosse um portal para provedores médicos, a API do Azure para FHIR poderia se integrar diretamente ao sistema de registros médicos eletrônicos do provedor.

  • O Hub IoT do Azure é um serviço ajustado para a ingestão de dados do dispositivo. Se o portal for o front-end de uma solução que coleta dados de um wearable ou de qualquer outro dispositivo médico, o Hub IoT deve ser usado para ingerir esses dados. Para obter mais informações, leia o processo INGEST da arquitetura Remote Patient Monitoring Solutions.

  • O Microsoft 365 Email é um serviço líder do setor usado para email e comunicações. Muitas organizações já investiram neste serviço e ele pode ser usado como uma alternativa aos Serviços de Comunicação do Azure com mais recursos. Nesta solução, ele pode ser usado para enviar e-mails relacionados ao portal de saúde do consumidor, como e-mails de confirmação de consulta ou lembrete.

Detalhes do cenário

Em todo o setor de saúde e ciências da vida, as organizações estão adotando uma estratégia de saúde digital. Um dos pilares fundamentais e uma componente necessária de uma solução de saúde digital é um portal de saúde do consumidor. Um portal de saúde do consumidor pode ser usado para acompanhar o progresso e as estatísticas de um dispositivo vestível, interagir com um provedor médico ou até mesmo rastrear hábitos alimentares saudáveis.

Potenciais casos de utilização

  • Acompanhe as estatísticas de um dispositivo vestível.
  • Tenha acesso a registros médicos e interaja com um provedor médico.
  • Insira horários e doses de medicamentos, que podem ser usados para dados de recarga ou autorastreamento de medicamentos.
  • Interaja com um treinador de alimentação saudável para perda de peso ou diabetes.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Disponibilidade

Atualmente, essa solução foi projetada como uma implantação de região única. Se o seu cenário exigir uma implantação em várias regiões para alta disponibilidade, recuperação de desastres ou até mesmo proximidade, talvez você precise de uma Região do Azure Emparelhada com as seguintes configurações.

  • O Azure Cosmos DB é estendido para habilitar uma configuração de várias regiões.

  • O Gerenciamento de API do Azure é implantado usando CI/CD em uma região secundária. Você também pode aplicar o recurso de implantação multirregião do Gerenciamento de API.

  • O Serviço de Aplicativo do Azure e as Funções são implantados separadamente em várias regiões. Essa implantação pode ser feita dentro do pipeline de CI/CD criando uma implantação paralela. Leia a aplicação Web multirregião altamente disponível para obter mais orientações.

  • Dependendo do requisito de RTO (objetivo de tempo de recuperação), o Armazenamento de Blobs do Azure pode ser configurado como armazenamento com redundância geográfica (GRS) ou armazenamento com redundância geográfica de acesso de leitura (RA-GRS) que permite leituras diretamente da região alternativa. Para saber mais, consulte o artigo Redundância do Armazenamento do Azure.

  • Várias camadas de disponibilidade e redundância são incorporadas ao serviço Azure Key Vault.

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

As seções a seguir descrevem as práticas recomendadas de segurança para cada um dos serviços usados nesta solução.

Azure Front Door

O WAF (Web Application Firewall) do Azure Front Door deve ser usado para mitigar muitos ataques comuns diferentes. Uma boa linha de base é começar usando a versão mais recente dos conjuntos de regras principais (CRS) do Open Web Application Security Project (OWASP) e, em seguida, adicionar políticas personalizadas conforme necessário. Embora o Azure Front Door tenha sido projetado para absorver grandes quantidades de tráfego, considere usar os mecanismos de cache disponíveis com esse serviço para reduzir a carga de tráfego para os sistemas de back-end sempre que possível. Para solucionar problemas e dar suporte a possíveis investigações de segurança, o log deve ser configurado para o Azure Front Door e o Web Application Firewall. Você pode ler mais em Práticas de segurança para o Azure Front Door.

API Management do Azure

Todo o tráfego para APIM deve ser autenticado, usando a autenticação de API do Azure AD B2C ou com sessões identificadas por token. Configure o Gerenciamento de API do Azure para armazenar logs de recursos. Você pode ler mais em Práticas de segurança para o Gerenciamento de API do Azure.

Serviço de Aplicações do Azure

Todo o tráfego para essa arquitetura, incluindo o serviço de aplicativo, deve ser protegido de ponta a ponta com TLS. O Serviço de Aplicativo deve negar protocolos inseguros para apertar a superfície de ataque. Além disso, o APIM deve repassar a autenticação do cliente para o Serviço de Aplicativo para permitir que ele valide em relação à sua própria autenticação e autorização de cliente. Todos os segredos usados no Serviço de Aplicativo devem ser armazenados no Cofre da Chave, usando uma identidade de serviço gerenciado sempre que possível. O Serviço de Aplicativo também deve armazenar logs de diagnóstico para dar suporte a quaisquer esforços de diagnóstico de segurança e deve ser integrado ao Microsoft Defender for App Service. Você pode ler mais em Práticas de segurança para o Serviço de Aplicativo do Azure

Funções do Azure

Todas as solicitações para o Azure Functions nesta solução devem exigir HTTPS, usar o Gerenciamento de API do Azure para autenticar solicitações e usar Identidades Gerenciadas sempre que possível. Armazene todas as chaves no Cofre de Chaves do Azure em vez de deixá-las no código da Função. Como em qualquer aplicativo, certifique-se de validar os dados na entrada e integrá-los ao Microsoft Defender for Cloud. Por fim, sempre configure o registro em log e o monitoramento para o Azure Functions. Você pode ler mais em Práticas de segurança para o Azure Functions.

Armazenamento de Blobs do Azure

Sempre que possível, restrinja o acesso ao armazenamento de blob usando o Microsoft Entra ID para autorizar o acesso do usuário e as Identidades de Serviço Gerenciado para acesso de recursos ao armazenamento de blob. Se esses tipos de autenticação podem não funcionar para seu aplicativo, use um token SAS (Assinatura de Acesso Compartilhado) no nível mais granular, em vez de uma chave de conta. Os tokens SAS são invalidados após a rotação das chaves da conta.

Certifique-se também de usar um controle de acesso baseado em função para o armazenamento de blob. Use os Firewalls de Armazenamento do Azure para não permitir tráfego de rede, diferente do tráfego dos Serviços Microsoft Confiáveis. Sempre integre o Armazenamento do Azure com o Microsoft Defender for Cloud e configure o monitoramento. Você pode ler mais em Práticas de segurança para o Armazenamento de Blobs do Azure.

Azure Cosmos DB

Os controles de acesso baseados em função devem ser habilitados para o gerenciamento do Azure Cosmos DB. O acesso aos dados no Azure Cosmos DB deve ser protegido adequadamente. Você pode configurar o Azure Cosmos DB para armazenar logs de diagnóstico para operações de plano de controle e para armazenar logs de recursos. Consulte mais detalhes em Práticas de segurança para o Azure Cosmos DB.

Azure Key Vault

As solicitações feitas ao Cofre de Chaves do Azure devem ser autenticadas usando o Microsoft Entra ID ou MSI , além de controles de acesso privilegiados. Integre o Key Vault com o Microsoft Defender for Cloud , além de registrar ações do Key Vault no Azure Monitor. Você pode ler mais em Práticas de segurança para o Cofre de Chaves do Azure.

Azure AD B2C

Use os recursos internos no Azure AD B2C para proteger contra ameaças como ataques de negação de serviço e baseados em senha. Configure o Log de Auditoria para permitir investigações de segurança e criar alertas de log para quaisquer logs de gerenciamento de ameaças gerados pelo B2C. Você pode ler mais em Práticas de segurança para o Azure AD B2C.

Azure Log Analytics

Os controles de acesso baseados em função devem estar em vigor para que o Log Analytics permita que apenas usuários autorizados acessem os dados enviados para o espaço de trabalho. Você pode ler mais em Práticas de segurança para o Azure Log Analytics.

Azure Application Insights

Quaisquer dados pessoais devem ser ofuscados antes de serem enviados para o Application Insights. Os controles de acesso baseados em função para insights de aplicativos também devem ser implementados para permitir que apenas usuários autorizados visualizem os dados enviados para o Application Insights. Você pode ler mais em Práticas de segurança para o Azure Application Insights.

Além disso, consulte as Práticas de segurança para o Hub de Notificação do Azure.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

O preço dessa arquitetura é amplamente variável com base nos níveis de serviços que você acaba usando, na capacidade, na taxa de transferência, nos tipos de consultas que estão sendo feitas nos dados, no número de usuários, bem como na continuidade de negócios e na recuperação de desastres. Pode começar a partir de cerca de US $ 2.500 / mo e escalar a partir daí.

Para começar, você pode exibir a Estimativa Genérica da Calculadora do Azure aqui.

Dependendo da escala da sua carga de trabalho e dos requisitos de funcionalidade empresarial, usar a camada de consumo do Gerenciamento de API do Azure pode reduzir o custo.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Matt Hansen - Brasil | Arquiteto de programas na nuvem

Próximos passos