Получение событий с вашей скоростью с помощью Microsoft Graph
В этой статье описывается распространенный шаблон интеграции Microsoft Graph для бизнес-сценария, который требует анализа безопасности содержимого совместной работы, чтобы предотвратить небезопасный или недопустимый общий доступ, передачу или использование конфиденциальных данных, например в сценариях защиты от потери данных (DLP).
Этот бизнес-сценарий является неинтерактивным вариантом использования, в котором требуется канал данных изменений, инициируемых пользователями, взаимодействующими с различными системами обмена сообщениями. Он не зависит от функционального поведения Microsoft 365 и имеет следующие требования к архитектуре:
- Тип интеграции данных.
- Исходящий поток данных из границ Microsoft 365 в приложение.
- Большой объем данных для средних и крупных предприятий.
- Задержка данных практически в реальном времени, чтобы свести к минимуму потерю данных.
Лучший вариант интеграции для этого сценария — использовать шаблон интеграции Pub/Sub, включенный уведомлениями об изменениях Microsoft Graph, который может доставлять уведомления о событиях, а также содержимое общего сообщения, доставляемого Центры событий Azure. Этот шаблон позволяет приложению получать уведомления об изменениях асинхронно и не тесно связан с приложениями-получателями Microsoft Graph. Этот тип взаимодействия с приложением часто называется режимом вытягивания.
На следующей схеме показана архитектура для этого решения.
Компоненты решения
Архитектура решения включает в себя следующие компоненты:
- Центры событий Azure, который позволяет принимать большой объем небольших сообщений менее 1 МБ в секунду с низкой задержкой и хранить их для последовательной обработки.
- Служба приложений Azure, который позволяет создавать и размещать веб-приложения, мобильные серверные серверы и ИНТЕРФЕЙСы API RESTful на предпочитаемом языке программирования без управления инфраструктурой. Он предлагает автоматическое масштабирование и высокий уровень доступности, поддерживает Windows и Linux, а также включает автоматическое развертывание из GitHub, Azure DevOps или любого репозитория Git.
- Microsoft Entra ID, которая необходима для управления проверкой подлинности для API Microsoft Graph и поддерживает делегированные разрешения и разрешения приложений для включения потока OAuth.
- Приложение-функция, которое является бессерверным компонентом, который позволяет масштабировать новые уведомления и имеет бизнес-логику для обработки уведомлений и их отправки в целевую службу.
- Службы уведомлений Microsoft Graph, которые управляют подписками на уведомления и доставляют уведомления об изменениях клиентам.
Рекомендации
Использование этого шаблона интеграции поддерживается следующими рекомендациями.
Доступность. Центры событий Azure обеспечить высокий уровень доступности в нескольких зонах доступности.
Задержка: Центры событий Azure может обрабатывать миллионы событий в секунду с низкой задержкой.
Масштабируемость: Центры событий Azure обеспечить хранение и хранение событий в течение 90 дней в зависимости от уровня служб, что позволяет пользовательскому приложению использовать и обрабатывать события в собственном темпе.
Сложность решения. Для этого решения требуется пользовательский код для обслуживания подписок и ключи шифрования для обработки данных. Так как это решение не требует эластичности и возможности реагировать на непредвиденный объем событий, оно менее сложное, чем интеграция с веб-перехватчиками в режиме отправки. Это решение имеет среднюю сложность.