Подсчет операций в запросе Azure Monitor Log Analytics - PullRequest
0 голосов
/ 30 октября 2019

Я хочу запросить такие операции, как Add-MailboxPermission с FullAccess и удаленные сообщения электронной почты / события календаря, чтобы найти скомпрометированные учетные записи (с интервалом 30 м). 1. Как я должен изменить свой код, чтобы показать операции, которые выполняют оба предположения одновременно (если я изменю «или» на «и», тогда он будет проверять оба предположения в одном журнале)? 2. Как я могу изменить «количество», чтобы уменьшить количество журналов только до этого, которые показывают минимум 10 в результате? Может быть, должна быть другая функция?

OfficeActivity
| where parse_json(Parameters)[2].Value like "FullAccess" or Operation contains "Delete" 
| summarize Events=count() by bin(TimeGenerated, 30m), Operation, UserId

1 Ответ

0 голосов
/ 31 октября 2019

Добро пожаловать в переполнение стека!

  1. Да, логический оператор and возвращает значение true, только если оба условия true. Проверьте этот документ для справки о языке запросов.

  2. Да, еще раз, есть оператор top , который используется для возврата первых N отсортированных записейпо указанным столбцам, используется следующим образом:

    OfficeActivity
    | where parse_json(Parameters)[2].Value like "FullAccess" and Operation contains "Delete" 
    | summarize Events=count() by bin(TimeGenerated, 30m), Operation, UserId
    | top 10 by Events asc
    

Дополнительный совет: Есть также операторы limit и take, которые возвращают набор результатов доуказанное количество строк, но с оговоркой, что нет никакой гарантии относительно того, какие записи возвращаются, если исходные данные не отсортированы.

Надеюсь, это поможет!

...