Мониторинг Azure AD B2C с помощью Azure Monitor
Используйте Azure Monitor для маршрутизации входа Azure Active Directory B2C (Azure AD B2C) и аудита журналов в различных решениях для мониторинга. Эти журналы можно сохранить для долговременного использования или интегрировать со сторонними средствами для управления сведениями и событиями безопасности (SIEM), чтобы получать аналитические сведения о своей среде.
События журнала можно направить в следующие места:
- Учетная запись хранения Azure.
- Рабочая область Log Analytics (для анализа данных, создания панелей мониторинга и оповещения о конкретных событиях).
- Концентратор событий Azure (и интегрировать с экземплярами Splunk и Sumo Logic).
При планировании передачи журналов Azure AD B2C в различные решения для мониторинга или репозиторий учитывайте, что журналы Azure AD B2C содержат персональные данные. При обработке таких данных убедитесь, что вы используете соответствующие меры безопасности в отношении персональных данных. Они включают защиту от несанкционированной или незаконной обработки с использованием соответствующих технических или организационных мер.
Из этой статьи вы узнаете, как передавать журналы в рабочую область Azure Log Analytics. После этого вы сможете создать панель мониторинга или оповещения, основанные на действиях пользователей Azure AD B2C.
Просмотрите это видео, чтобы узнать, как настроить мониторинг Azure AD B2C с помощью Azure Monitor.
Общие сведения о развертывании
Azure AD B2C использует мониторинг Microsoft Entra. В отличие от клиентов Microsoft Entra, клиент Azure AD B2C не может связаться с ним. Поэтому необходимо предпринять дополнительные шаги, чтобы обеспечить интеграцию между Azure AD B2C и Log Analytics, где мы отправляем журналы. Чтобы включить параметры диагностики в идентификаторе Microsoft Entra в клиенте Azure AD B2C, используйте Azure Lighthouse для делегирования ресурса, который позволяет Azure AD B2C ( поставщик услуг) управлять ресурсом Microsoft Entra ID ( клиент).
Совет
Azure Lighthouse обычно применяется для управления ресурсами для нескольких клиентов. Однако она также может использоваться для управления ресурсами в пределах предприятия с несколькими клиентами Microsoft Entra, что является тем, что мы делаем здесь, за исключением того, что мы делегируем управление одной группой ресурсов.
После выполнения действий, описанных в этой статье, вы создадите новую группу ресурсов (azure-ad-b2c-monitor) и получите доступ к этой группе ресурсов, которая содержит рабочую область Log Analytics, на портале Azure AD B2C. Вы также сможете передавать журналы из Azure AD B2C в рабочую область Log Analytics.
Во время этого развертывания вы можете авторизовать пользователя или группу в каталоге Azure AD B2C, чтобы настроить экземпляр рабочей области Log Analytics в клиенте, содержащем подписку Azure. Чтобы создать авторизацию, разверните шаблон Azure Resource Manager в подписке, которая содержит рабочую область Log Analytics.
На следующей схеме показаны компоненты, которые вы настроите в клиентах Microsoft Entra ID и Azure AD B2C.
Во время этого развертывания вы настроите клиент Azure AD B2C, в котором создаются журналы. Вы также настроите клиент Microsoft Entra, где будет размещена рабочая область Log Analytics. Для используемой учетной записи Azure AD B2C (например, для учетной записи администратора) должна быть назначена роль глобального администратора в арендаторе Azure AD B2C. Учетная запись Microsoft Entra, используемая для запуска развертывания, должна быть назначена роль владельца в подписке Microsoft Entra. Также по мере выполнения каждого шага важно следить за тем, что вы вошли в правильный каталог.
В итоге вы будете использовать Azure Lighthouse, чтобы разрешить пользователю или группе в клиенте Azure AD B2C управлять группой ресурсов в подписке, связанной с другим клиентом (клиент Microsoft Entra). Когда авторизация будет выполнена, вы сможете выбрать эту подписку и рабочую область Log Analytics в качестве целевых объектов в параметрах диагностики для Azure AD B2C.
Необходимые компоненты
Учетная запись Azure AD B2C с ролью глобального администратора в клиенте Azure AD B2C.
Учетная запись Microsoft Entra с ролью владельца в подписке Microsoft Entra. См. статью Назначение пользователя администратором подписки Azure.
1. Создание или выбор группы ресурсов
Сначала создайте или выберите группу ресурсов, содержащую целевую рабочую область Log Analytics, которая будет принимать данные от Azure AD B2C. Имя группы ресурсов указывается при развертывании шаблона Azure Resource Manager.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
- Создайте группу ресурсов или выберите существующую. В этом примере используется группа ресурсов с именем azure-ad-b2c-monitor.
2. Создание рабочей области Log Analytics
Рабочая область Log Analytics — это уникальная среда для данных журналов Azure Monitor. Рабочая область Log Analytics используется для получения данных из журналов аудита Azure AD B2C и дальнейшей их визуализации с помощью запросов и книг, а также для создания оповещений.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
- Создание рабочей области Log Analytics. В этом примере используется рабочая область Log Analytics с именем AzureAdB2C в группе ресурсов с именем azure-ad-b2c-monitor.
3. Делегирование управления ресурсами
На этом этапе осуществляется выбор клиента Azure AD B2C в качестве поставщика услуг. Вы также определяете разрешения, необходимые для назначения соответствующих встроенных ролей Azure группам в клиенте Microsoft Entra.
3.1. Получение идентификатора клиента Azure AD B2C
Сначала получите идентификатор клиента каталога Azure AD B2C (также называется идентификатором каталога).
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
- Выберите идентификатор Microsoft Entra, выберите "Обзор".
- Запишите идентификатор клиента.
3.2. Выбор группы безопасности
Теперь выберите группу или пользователя Azure AD B2C для предоставления разрешения в отношении группы ресурсов, созданной ранее в каталоге, содержащем подписку.
Чтобы упростить управление, рекомендуется использовать группы пользователей Microsoft Entra для каждой роли, позволяя добавлять или удалять отдельных пользователей в группу, а не назначать разрешения непосредственно этому пользователю. В этом пошаговом руководстве мы добавим группу безопасности.
Важно!
Чтобы добавить разрешения для группы Microsoft Entra, тип группы должен иметь значение Security. Этот вариант автоматически выбирается при создании группы. Дополнительные сведения см. в статье "Создание базовой группы" и добавление участников с помощью идентификатора Microsoft Entra.
- Если идентификатор Microsoft Entra по-прежнему выбран в каталоге Azure AD B2C , выберите группы и выберите группу. Если существующей группы нет, создайте группу безопасности, а затем добавьте участников. Дополнительные сведения см. в процедуре создания базовой группы и добавления участников с помощью идентификатора Microsoft Entra.
- Выберите Обзор и запишите идентификатор объекта группы.
3.3 Создание шаблона Azure Resource Manager
Чтобы создать настраиваемую авторизацию и делегирование в Azure Lighthouse, мы используем шаблон Azure Resource Manager. Этот шаблон предоставляет Azure AD B2C доступ к группе ресурсов Microsoft Entra, созданной ранее, например azure-ad-b2c-monitor. Разверните шаблон из примера GitHub с помощью кнопки развернуть в Azure, которая открывает портал Azure и позволяет настроить и развернуть шаблон непосредственно на портале. Для этих действий убедитесь, что вы вошли в клиент Microsoft Entra (а не клиент Azure AD B2C).
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
Используйте кнопку Развернуть в Azure, чтобы открыть портал Azure и развернуть шаблон непосредственно на портале. Дополнительные сведения см. в разделе Создание шаблона Azure Resource Manager.
На странице Настраиваемое развертывание введите следующую информацию:
Поле Определение Отток подписок Выберите каталог, содержащий подписку Azure, в которой была создана группа ресурсов azure-ad-b2c-monitor. Регион Выберите регион, в котором будет развернут ресурс. Имя предложения Msp Имя, описывающее это определение. Например, мониторинг Azure AD B2C. Это имя, которое будет отображаться в Azure Lighthouse. Имя предложения MSP должно быть уникальным в идентификаторе Microsoft Entra. Чтобы отслеживать несколько арендаторов Azure AD B2C, используйте разные имена. Описание предложения Msp Краткое описание вашего предложения. Например, включает Azure Monitor в Azure AD B2C. Управляется идентификатором арендатора Идентификатор клиента Azure AD B2C (также называется идентификатором каталога). Авторизации Укажите массив объектов JSON, включающих идентификатор Microsoft Entra ID principalId
principalIdDisplayName
и AzureroleDefinitionId
.principalId
— это идентификатор объекта группы или пользователя B2C, который будет иметь доступ к ресурсам в этой подписке Azure. В этом пошаговом руководстве укажите идентификатор объекта группы, записанный ранее. ДляroleDefinitionId
используйте встроенное значение роли для роли участникаb24988ac-6180-42a0-ab88-20f7382dd24c
.Имя группы ресурсов Имя группы ресурсов, создаваемой ранее в клиенте Microsoft Entra. Например, azure-ad-b2c-monitor. В следующем примере показан массив авторизаций с одной группой безопасности.
[ { "principalId": "<Replace with group's OBJECT ID>", "principalIdDisplayName": "Azure AD B2C tenant administrators", "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c" } ]
После развертывания шаблона для завершения проецирования ресурсов может потребоваться несколько минут (обычно не более пяти). Вы можете проверить развертывание в клиенте Microsoft Entra и получить сведения о проекции ресурсов. Дополнительные сведения см. в статье Просмотр поставщиков служб и управление ими.
4. Выбор подписки
После развертывания шаблона и нескольких минут ожидания завершения проецирования ресурсов выполните следующие действия, чтобы связать подписку с каталогом Azure AD B2C.
Примечание.
Параметры портала | На странице каталогов и подписок убедитесь, что клиенты Azure AD B2C и Microsoft Entra выбраны в разделе Current + делегированные каталоги.
Выйдите из портала Azure и выполните вход с помощью учетной записи администратора Azure AD B2C. Эта учетная запись должна быть членом группы безопасности, указанной на шаге Делегирование управления ресурсами. Выход и повторный вход позволяет обновить учетные данные сеанса на следующем шаге.
Щелкните значок Параметры на панели инструментов портала.
Параметры портала | На странице каталогов и подписок в списке имен каталогов найдите каталог идентификатора Microsoft Entra, содержащий подписку Azure и созданную группу ресурсов azure-ad-b2c-monitor, а затем нажмите кнопку "Переключить".
Убедитесь, что выбран правильный каталог, а подписка Azure указана и выбрана в фильтре подписок по умолчанию.
5. Настройка параметров диагностики
Параметры диагностики определяют, куда будут отправляться журналы и метрики для ресурса. Возможные места назначения
В этом примере рабочая область Log Analytics используется для создания панели мониторинга.
5.1 Создание параметров диагностики
Вы можете создавать параметры диагностики на портал Azure.
Чтобы настроить параметры мониторинга для журналов действий Azure AD B2C, выполните следующие действия:
Войдите на портал Azure с помощью учетной записи администратора Azure AD B2C. Эта учетная запись должна быть членом группы безопасности, указанной на шаге Выбор группы безопасности.
Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
Выбор идентификатора Microsoft Entra
В разделе Мониторинг выберите Параметры диагностики.
Если для ресурса уже настроены параметры, здесь отобразится их список. Выберите Добавить параметр диагностики, чтобы добавить новый параметр, или Изменить параметры, чтобы изменить существующий параметр. Каждый параметр может иметь не более одного типа назначения.
Присвойте параметру имя, если его еще нет.
Выберите AuditLogs и SignInLogs.
Выберите Отправка в рабочую область Log Analytics, а затем:
- В разделе Подписка выберите свою подписку.
- В разделе Рабочая область Log Analytics выберите имя созданной ранее рабочей области, например,
AzureAdB2C
.
Примечание.
Сейчас для клиентов Azure AD B2C поддерживаются только параметры диагностики AuditLogs и SignInLogs.
Выберите Сохранить.
Примечание.
После создания события может пройти до 15 минут, пока оно отобразится в рабочей области Log Analytics. Кроме того, ознакомьтесь с дополнительными сведениями о задержках при создании отчетов Active Directory, которые могут повлиять на устаревание данных и играют важную роль в создании отчетов.
Если отображается сообщение об ошибке Чтобы настроить параметры диагностики для использования Azure Monitor для каталога Azure AD B2C, необходимо настроить управление делегированными ресурсами, убедитесь, что вы вошли в систему как пользователь, который является членом группы безопасности, и выбрали подписку.
6. Визуализация данных
Теперь можно настроить рабочую область Log Analytics для визуализации данных и настройки оповещений. Эти конфигурации можно настроить как в клиенте Microsoft Entra, так и в клиенте Azure AD B2C.
6.1. Создание запроса
Запросы по журналам позволяют с пользой применить все данные, собранные в журналах Azure Monitor. Эффективный язык запросов позволяет объединять данные из нескольких таблиц, агрегировать большие наборы данных и выполнять сложные операции с применением минимального кода. При условии, что собираются вспомогательные данные, и вы понимаете, как создать правильный запрос, можно получить ответ практически на любой вопрос и выполнить любой анализ. Дополнительные сведения см. в статье Начало работы с запросами журнала в Azure Monitor.
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
В окне Рабочая область Log Analytics выберите Журналы
В редакторе запросов вставьте следующий запрос, используя язык запросов Kusto. Этот запрос показывает использование политики по операциям за последние x дней. Период по умолчанию — 90 дней (90 д). Обратите внимание, что запрос ориентирован только на операцию, в которой маркер или код выдается политикой.
AuditLogs | where TimeGenerated > ago(90d) | where OperationName contains "issue" | extend UserId=extractjson("$.[0].id",tostring(TargetResources)) | extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails)) | summarize SignInCount = count() by Policy, OperationName | order by SignInCount desc nulls last
Выберите Выполнить. Результаты запроса отображаются в нижней части экрана.
Для сохранения запроса с целью дальнейшего использования нажмите Сохранить.
Укажите следующие сведения:
- Имя. Введите имя вашего запроса.
- Сохранить как. Выберите
query
. - Категория. Выберите
Log
.
Выберите Сохранить.
Можно также изменить запрос для визуализации данных с помощью оператора Преобразовать для просмотра.
AuditLogs
| where TimeGenerated > ago(90d)
| where OperationName contains "issue"
| extend UserId=extractjson("$.[0].id",tostring(TargetResources))
| extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
| summarize SignInCount = count() by Policy
| order by SignInCount desc nulls last
| render piechart
Дополнительные примеры см. в репозитории GitHub SIEM Azure AD B2C.
6.2. Создание книги
Книги предоставляют гибкий холст для анализа данных и создания полнофункциональных визуальных отчетов на портале Azure. Они позволяют подключаться к нескольким источникам данных из Azure и объединять их через единый интерактивный интерфейс. Дополнительные сведения см. в статье Книги Azure Monitor.
Следуйте приведенным ниже инструкциям, чтобы создать новую книгу с помощью шаблона коллекции JSON. Эта книга предоставляет панель мониторинга Сведения о пользователях и Аутентификация для клиента Azure AD B2C.
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
В окне Рабочая область Log Analytics выберите Книги.
На панели инструментов Нажмите + Создать , чтобы создать новую книгу.
На странице Новая книга выберите Расширенный редактор, используя параметр </> на панели инструментов.
Выберите Шаблон коллекции.
Замените JSON в шаблоне коллекции содержимым из базовой книги Azure AD B2C:
Примените шаблон с помощью кнопки Применить.
Нажмите кнопку Завершить редактирование на панели инструментов, чтобы завершить редактирование книги.
Наконец, сохраните книгу с помощью кнопки Сохранить на панели инструментов.
Укажите Название, например Панель мониторинга Azure AD B2C.
Выберите Сохранить.
Отчеты в книге будут отображаться в виде панели мониторинга.
Создание оповещений
Оповещения создаются в Azure Monitor с помощью правил генерации оповещений и позволяют автоматически через регулярные интервалы выполнять сохраненные запросы или настраиваемые поиски по журналам. Оповещения можно создавать на основе определенных метрик производительности или при возникновении определенных событий. Вы также можете создавать оповещения о отсутствии события или при возникновении ряда событий в течение определенного периода времени. Например, оповещения можно использовать для уведомления, когда среднее число входов превышает определенное пороговое значение. Дополнительные сведения см. в статье Создание оповещений для базы данных SQL Azure и хранилища данных с помощью портала Azure.
Используйте приведенные ниже инструкции, чтобы создать новое оповещение Azure, которое будет отправлять уведомление по электронной почте каждый раз при сокращении общего количества запросов на 25 % по сравнению с предыдущим периодом. Это оповещение будет выполняться каждые 5 минут для проверки сокращения числа запросов за последний час в сравнении с предпоследним. Оповещения создаются с помощью языка запросов Kusto.
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
В рабочей области Log Analytics нажмите Журналы.
Создайте новый запрос Kusto с помощью этого запроса.
let start = ago(2h); let end = now(); let threshold = -25; //25% decrease in total requests. AuditLogs | serialize TimeGenerated, CorrelationId, Result | make-series TotalRequests=dcount(CorrelationId) on TimeGenerated from start to end step 1h | mvexpand TimeGenerated, TotalRequests | serialize TotalRequests, TimeGenerated, TimeGeneratedFormatted=format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd [HH:mm:ss]') | project TimeGeneratedFormatted, TotalRequests, PercentageChange= ((toreal(TotalRequests) - toreal(prev(TotalRequests,1)))/toreal(prev(TotalRequests,1)))*100 | order by TimeGeneratedFormatted desc | where PercentageChange <= threshold //Trigger's alert rule if matched.
Нажмите Выполнить, чтобы протестировать запрос. Вы увидите результаты, если в течение последнего часа в течение последнего часа наблюдается падение на 25% или более.
Чтобы создать правило генерации оповещений на основе этого запроса, используйте параметр "+ Новое правило генерации оповещений", доступный на панели инструментов.
На странице Создание правила генерации оповещений нажмите Имя условия
На странице Настройка логики сигналов задайте следующие значения, а затем нажмите кнопку Готово, чтобы сохранить изменения.
- Логика оповещения: задайте Количество результатовбольше0.
- Оценка на основе: выберите 120 в поле "Период (в минутах)" и 5 в поле "Частота (в минутах)".
После создания оповещения перейдите в рабочую область Log Analytics и выберите Оповещения. На этой странице отображаются все оповещения, которые были активированы в течение периода времени, заданного параметром Диапазон времени.
Настройка групп действий
Оповещения служб Azure Monitor и "Работоспособность служб" используют группы действий для уведомления пользователей о том, что оповещение активировано. Вы можете включить в их число отправку голосового звонка, текстового сообщения, сообщения электронной почты или активацию различных типов автоматических действий. Следуйте инструкциям в статье Создание групп действий и управление ими на портале Azure.
Ниже приведен пример оповещения по электронной почте.
Использование нескольких клиентов
Чтобы подключить несколько журналов клиентов Azure AD B2C к одной и той же рабочей области Log Analytics (или к учетной записи хранения Azure, или концентратору событий), вам потребуется отдельное развертывание с различными значениями имени предложения MSP. Убедитесь, что рабочая область Log Analytics входит в ту же группу ресурсов, что была настроена на шаге Создание или выбор группы ресурсов.
При работе с несколькими рабочими областями Log Analytics используйте запрос между рабочими областями, чтобы создавать запросы, работающие в нескольких рабочих областях. Например, следующий запрос выполняет соединение двух журналов аудита из разных клиентов на основе одинаковой категории (например, проверки подлинности):
workspace("AD-B2C-TENANT1").AuditLogs
| join workspace("AD-B2C-TENANT2").AuditLogs
on $left.Category== $right.Category
Изменение срока хранения данных
Журналы Azure Monitor предназначены для масштабирования и поддержки сбора, индексирования и хранения больших объемов данных в день из любого источника в вашей организации или в развертывании в Azure. По умолчанию журналы хранятся в течение 30 дней, но длительность хранения может быть увеличена до двух лет. Ознакомьтесь с информацией о том, как управлять использованием и затратами с помощью журналов Azure Monitor. После выбора ценовой категории можно изменить срок хранения данных.
Отключение сбора данных мониторинга
Чтобы прекратить сбор журналов в рабочую область Log Analytics, удалите созданные параметры диагностики. Вы продолжите взимать плату за хранение данных журнала, которые вы уже собрали в рабочую область. Если вам больше не нужны собранные данные мониторинга, вы можете удалить рабочую область Log Analytics и группу ресурсов, созданную для Azure Monitor. При удалении рабочей области Log Analytics удаляются все данные в рабочей области и вы не будете взимать дополнительные расходы на хранение данных.
Удаление рабочей области Log Analytics и группы ресурсов
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Идентификатора Microsoft Entra из меню каталогов и подписок.
- Выберите группу ресурсов, содержащую рабочую область Log Analytics. В этом примере используется группа ресурсов azure-ad-b2c-monitor и рабочая область Log Analytics с именем
AzureAdB2C
. - Удалите рабочую область Logs Analytics.
- Нажмите кнопку "Удалить", чтобы удалить группу ресурсов.
Следующие шаги
Ознакомьтесь с другими примерами в коллекции SIEM Azure AD B2C.
Для получения дополнительных сведений о добавлении и настройке параметров диагностики в Azure Monitor см. Учебник. Сбор и анализ журналов ресурсов из ресурса Azure.
Сведения о потоковой передаче журналов Microsoft Entra в концентратор событий см. в руководстве по потоковой передаче журналов Microsoft Entra в концентратор событий Azure.