Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve um padrão de integração comum do Microsoft Graph para um cenário de negócios que requer uma análise de segurança do conteúdo de colaboração para evitar o compartilhamento, a transferência ou o uso inadequado de dados confidenciais, como em cenários de Prevenção contra Perda de Dados (DLP).
Esse cenário de negócios é um caso de uso não interativo que requer um feed de dados de alterações disparadas por usuários interagindo com vários sistemas de mensagens. Ele não depende do comportamento funcional do Microsoft 365 e tem os seguintes requisitos de arquitetura:
- Um tipo de integração de dados.
- Um fluxo de dados de saída dos limites do Microsoft 365 para o aplicativo.
- Um alto volume de dados para empresas de médio a grande porte.
- Latência de dados quase em tempo real para minimizar a perda de dados.
A melhor opção de integração para esse cenário é usar o padrão de integração Pub/Sub habilitado pelas notificações de alteração do Microsoft Graph, que pode fornecer notificações de eventos, bem como o conteúdo de uma mensagem compartilhada, entregue aos Hubs de Eventos do Azure. Esse padrão permite que o aplicativo receba notificações de alteração de forma assíncrona e não acopla firmemente o Microsoft Graph aos aplicativos receptores. Esse tipo de interação de aplicativo geralmente é chamado de modo pull.
O diagrama a seguir mostra a arquitetura dessa solução.
Componentes da solução
A arquitetura da solução inclui os seguintes componentes:
- Hubs de Eventos do Azure, que permitem ingerir um grande volume de mensagens pequenas, com menos de 1 MB, em um segundo com baixa latência, e armazená-las para processamento consecutivo.
- Serviço de Aplicativo do Azure, que permite criar e hospedar aplicativos Web, back-ends móveis e APIs RESTful em sua linguagem de programação preferencial, sem gerenciar a infraestrutura. Ele oferece dimensionamento automático e alta disponibilidade, dá suporte a Windows e Linux e permite implantações automatizadas do GitHub, Azure DevOps ou qualquer repositório Git.
- O Microsoft Entra ID, que é necessário para gerenciar a autenticação para APIs do Microsoft Graph e dá suporte a permissões delegadas e de aplicativo para habilitar o fluxo OAuth.
- Aplicativo de funções, que é um componente sem servidor que permite escalar horizontalmente para intermitências de novas notificações e tem uma lógica de negócios para processar notificações e enviá-las a um serviço de destino.
- Serviços de notificação do Microsoft Graph, que gerenciam assinaturas de notificação e fornecem notificações de alteração aos clientes.
Considerações
As considerações a seguir dão suporte ao uso desse padrão de integração:
Disponibilidade: os Hubs de Eventos do Azure fornecem alta disponibilidade em várias zonas de disponibilidade.
Latência: os Hubs de Eventos do Azure podem processar milhões de eventos por segundo com baixa latência.
Escalabilidade: os Hubs de Eventos do Azure fornecem armazenamento e retenção de eventos por até 90 dias, dependendo da camada de serviço, permitindo que o aplicativo personalizado consuma e processe eventos em seu próprio ritmo.
Complexidade da solução: essa solução requer código personalizado para manter assinaturas e chaves de criptografia para processar os dados. Como essa solução não requer elasticidade e a capacidade de reagir a um volume inesperado de eventos, ela é menos complexa do que a integração com webhooks no modo push. Esta solução tem complexidade média.