Поделиться через


Руководство. Создание рабочей области Log Analytics для анализа журналов входа

В этом руководстве описано следующее:

  • Создание рабочей области Log Analytics
  • Настройка параметров диагностики для интеграции журналов входа с рабочей областью Log Analytics
  • выполнение запросов с помощью языка запросов Kusto;

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

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

Создание рабочей области Log Analytics

На этом этапе вы создадите рабочую область Log Analytics, в которую в конечном итоге будут отправляться журналы входа. Прежде чем создать рабочую область, вам потребуется группа ресурсов Azure.

  1. Войдите на портал Azure в качестве Администратора безопасности с разрешениями Участника Log Analytics.

  2. Перейдите к рабочим областям Log Analytics.

  3. Нажмите кнопку создания.

    Снимок экрана: кнопка

  4. На странице Создание рабочей области Log Analytics выполните следующие шаги:

    1. Выберите свою подписку.

    2. Выберите группу ресурсов.

    3. Присвойте рабочей области имя.

    4. Выберите свой регион.

    Снимок экрана: страница с подробностями о создании новой рабочей области лог аналитики.

  5. Выберите Просмотр и создание.

  6. Нажмите кнопку "Создать " и дождитесь развертывания. Возможно, потребуется обновить страницу, чтобы увидеть новую рабочую область.

Настройка параметров диагностики

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

  1. Войдите в Центр администрирования Microsoft Entra как Администратор безопасности или выше.

  2. Перейдите к Entra ID>Мониторинг и работоспособность>Диагностические параметры.

  3. Выберите Добавить параметр диагностики.

    Снимок экрана: параметр

  4. На странице Параметр диагностики выполните следующие шаги.

    1. Укажите имя для параметра диагностики.

    2. В разделе "Журналы" выберите AuditLogs и SigninLogs.

    3. В разделе Сведения о назначении выберите Отправить в Log Analytics, а затем выберите созданную рабочую область Log Analytics.

    4. Выберите Сохранить.

    Снимок экрана: выбор параметров диагностика.

Может потребоваться до 15 минут, чтобы выбранные журналы отобразились в рабочей области Log Analytics.

Выполнение запросов в Log Analytics

С помощью потоковой передачи журналов в рабочую область Log Analytics можно выполнять запросы с помощью языка запросов Kusto (KQL). Наименее привилегированная роль для выполнения запросов — роль Читатель отчетов

  1. Перейдите к Entra ID>Мониторинг и работоспособность>Log Analytics.

  2. В текстовом поле "Поиск" введите запрос и нажмите кнопку "Выполнить".

Примеры запросов Kusto

Получение 10 случайных записей из входных данных:

  • SigninLogs | take 10

Просмотрите входы, в которых условный доступ был успешным:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus

Количество успехов:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus | count

Число успешных входов пользователей за день:

  • SigninLogs | where ConditionalAccessStatus == "success" | summarize SuccessfulSign-ins = count() by UserDisplayName, bin(TimeGenerated, 1d)

Просмотр количества выполнений пользователем определенной операции за определенный период времени:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | summarize count() by OperationName, Identity

Поворот результатов по имени операции:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | project OperationName, Identity | evaluate pivot(OperationName)

Объедините журналы аудита и входов с помощью внутреннего соединения.

  • AuditLogs |where OperationName contains "Add User" |extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName) | |project TimeGenerated, UserPrincipalName |join kind = inner (SigninLogs) on UserPrincipalName |summarize arg_min(TimeGenerated, *) by UserPrincipalName |extend SigninDate = TimeGenerated

Просмотр количества входов в систему по типу клиентского приложения:

  • SigninLogs | summarize count() by ClientAppUsed

Считайте количество входов по дням:

  • SigninLogs | summarize NumberOfEntries=count() by bin(TimeGenerated, 1d)

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

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

Выберите пять верхних элементов в порядке убывания и отобразите столбцы, которые хотите увидеть.

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

Создание нового столбца путем объединения значений двух других столбцов:

  • SigninLogs | limit 10 | extend RiskUser = strcat(RiskDetail, "-", Identity) | project RiskUser, ClientAppUsed

Следующий шаг