🔍

KQL クエリで集計したリストをカラムとして追加

2024/05/29に公開

はじめに

タイトルのように文字にするとよく分からないのですが、VM ログオンのログを VM ごとに時刻とログオンユーザーをリスト化、そのリストをカラムとして追加したい、というようなイメージです。

やってみる

bag_pack()make_list() を使うと実現できるようです。
https://learn.microsoft.com/ja-jp/azure/data-explorer/kusto/query/make-list-aggregation-function

SecurityEvent  
| where EventID == 4624  // ログオン成功イベントID  
| where AccountType == "User"
| extend packed = bag_pack('TimeGenerated', TimeGenerated, 'Account', Account)
| summarize Logonlist = make_list(packed, 16) by Computer

bag_pack() で個々のレコードにおける TimeGeneratedAccount の組を動的オブジェクトとしてカラムに追加し、make_list() で集計単位ごとにリスト化しています。

結果

bag_pack() までの結果


make_list() まで実行した結果


LoginList を展開

Microsoft (有志)

Discussion