Анализ журналов действий Microsoft Entra с помощью Log Analytics

После интеграции журналов действий Microsoft Entra с журналами мониторинга Azure вы сможете использовать возможности Log Analytics и журналов мониторинга Azure для получения аналитики о вашей среде.

  • Сравните журналы входа Microsoft Entra с журналами безопасности, опубликованными Microsoft Defender for Cloud.

  • Устранение проблем с производительностью на странице входа в приложение путем сопоставления данных о производительности приложений из Azure Application Insights.

  • Анализируйте пользователей с высоким риском и журналы обнаружения рисков, связанных с защитой идентификации, чтобы выявлять угрозы в вашей среде.

В этой статье описывается анализ журналов действий Microsoft Entra в рабочей области Log Analytics.

Предварительные условия

Чтобы проанализировать журналы действий с помощью Log Analytics, вам потребуется:

  • Рабочий клиент Microsoft Entra с лицензией Microsoft Entra ID P1 или P2, связанной с ней.
  • Рабочая область Log Analytics и доступ к этой рабочей области
  • Соответствующие роли для Azure Monitor и Microsoft Entra ID

Рабочая область Log Analytics

Необходимо создать рабочую область Log Analytics. Существует несколько факторов, определяющих доступ к рабочим областям Log Analytics. Вы должны иметь нужные роли в рабочей области и у ресурсов, отправляющих данные.

Дополнительные сведения см. в разделе Управление доступом к рабочим областям Log Analytics.

Azure Монитор ролей

Azure Monitor предоставляет две встроенные роли для просмотра данных мониторинга и редактирования его параметров. Контроль доступа Azure на основе ролей (RBAC) также предоставляет две встроенные роли Log Analytics, которые предоставляют аналогичный доступ.

  • Вид:

    • Monitoring Reader (Читатель данных мониторинга)
    • Обозреватель Лог Аналитики
  • Просмотр и изменение параметров:

    • Участник мониторинга
    • Участник Log Analytics

Дополнительные сведения о встроенных ролях монитора Azure см. в разделе Roles, разрешения и безопасность в Azure Monitor.

Для получения дополнительных сведений о ролях Log Analytics см. в разделе встроенные роли Azure

Роли Microsoft Entra

Только для чтения доступ позволяет просматривать данные журнала Microsoft Entra ID в рабочей книге, запрашивать данные из Log Analytics или читать журналы в Центре администрирования Microsoft Entra. Обновление доступа добавляет возможность создавать и изменять параметры диагностики для отправки данных Microsoft Entra в рабочую область Log Analytics.

  • Прочитать:

    • Просмотрщик отчетов
    • Читатель данных о безопасности
    • Всемирный читатель
  • Обновление:

    • Администратор безопасности

Дополнительные сведения о встроенных ролях Microsoft Entra см. в разделе Встроенные ролиMicrosoft Entra.

Анализ журналов доступа

Чтобы просмотреть Microsoft Entra ID Log Analytics, необходимо отправить журналы действий из Microsoft Entra ID в рабочую область Log Analytics. Этот процесс рассматривается в статье Как интегрировать журналы действий с Azure Monitor.

  1. Войдите в центр администрирования Microsoft Entra как минимум в роли читателя отчетов.

  2. Перейдите к Entra ID>Мониторинг и работоспособность>Log Analytics. Выполняется поисковый запрос по умолчанию.

    Запрос по умолчанию

  3. Разверните категорию LogManagement , чтобы просмотреть список связанных с журналом запросов.

  4. Выберите или наведите указатель мыши на имя запроса, чтобы просмотреть описание и другие полезные сведения.

  5. Разверните запрос из списка, чтобы просмотреть схему.

    Снимок экрана: схема запроса.

Журналы активности запросов

Вы можете выполнять запросы к журналам действий, которые направляются в рабочую область Log Analytics. Например, чтобы получить список приложений с наибольшим количеством входов на прошлой неделе, введите следующий запрос и нажмите кнопку "Выполнить ".

SigninLogs 
| where CreatedDateTime >= ago(7d)
| summarize signInCount = count() by AppDisplayName
| sort by signInCount desc 

Чтобы найти события рискованного входа, используйте следующий запрос:

SigninLogs
| where RiskState contains "atRisk"

Чтобы получить наиболее значимые события аудита за последнюю неделю, используйте следующий запрос.

AuditLogs 
| where TimeGenerated >= ago(7d)
| summarize auditCount = count() by OperationName 
| sort by auditCount desc 

Чтобы суммировать количество событий подготовки в день, выполните следующие действия:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Проведите 100 событий подготовки и спроецируйте ключевые свойства:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Несколько записей входа в Log Analytics

При анализе журналов входа Microsoft Entra ID вы можете заметить, что Log Analytics отображает несколько записей для единого входа пользователя, в то время как в представлении журналов входа Microsoft Entra ID отображается только одно. Это поведение является ожидаемым.

Почему отображаются несколько записей

Во время интерактивного входа пользователь может создать несколько запросов, которые используют один и тот же идентификатор корреляции. Рассмотрим пример.

  1. Пользователь пытается войти и запрашивает многофакторную проверку подлинности (MFA).
  2. Первая попытка MFA завершается ошибкой.
  3. Пользователь повторно проходит многофакторную аутентификацию и успешно завершает её.

В журналах входа Microsoft Entra ID эти связанные запросы объединяются в событие единого входа. Портал объединяет все действия с одинаковым идентификатором корреляции и сообщает конечный результат, поэтому вход отображается как успешный.

Каждый запрос отправляется по отдельности, что означает, что Log Analytics отображает следующее:

  • Промежуточные записи ошибок.
  • Окончательная успешная запись.

Все записи используют один и тот же идентификатор корреляции.

Интерпретация этих журналов

Так как Log Analytics отображает каждый запрос, это может показаться повторяющимся. Однако эти записи представляют собой отдельные шаги единого процесса входа в систему.

Чтобы правильно интерпретировать эти события, выполните следующие действия:

  1. Группировать все записи по идентификатору корреляции.
  2. Используйте окончательное состояние для этого идентификатора корреляции в качестве эффективного результата.
  3. Опционально выполняйте слияние записей в KQL для создания агрегированного вида, аналогичного Центру администрирования Microsoft Entra.

В следующем примере показано, как объединить записи по идентификатору корреляции:

SigninLogs
| summarize
    FirstSeen = min(TimeGenerated),
    LastSeen = max(TimeGenerated),
    FinalStatus = arg_max(TimeGenerated, ResultType, ConditionalAccessStatus),
    Count = count()
    by CorrelationId, UserPrincipalName