📓

Sentinel UEBA の IdentityInfo テーブルを使い、非アクティブアカウントを抽出する

2023/06/28に公開

はじめに

Sentinel UEBA を有効にすると、Azure AD のデータが IdentityInfo テーブルに同期されます。こちらを使用して各種ユーザーの分析が可能です。ここでは非アクティブアカウントの抽出をしてみます。

IdentityInfo テーブルの仕様

  • 初期同期には数日かかる可能性があるが、データは一度で完全に同期
  • Azure AD でユーザー プロファイルに対して行われた変更は、15 分以内に IdentityInfo テーブルで更新
  • グループとロールの情報は、IdentityInfo テーブルと Azure AD の間で毎日同期
  • 古いレコードが完全に更新されるように、14 日ごとにAzure AD 全体と同期し直し
  • IdentityInfo テーブルの既定の保有期間は 30 日

https://learn.microsoft.com/ja-jp/azure/sentinel/ueba-reference#identityinfo-table

使ってみる

以下でアカウントの一覧取得ができます。所属グループや割り当てロールも確認できます。

IdentityInfo
| where TimeGenerated > ago(14d)
| summarize arg_max(TimeGenerated, *) by AccountUPN



SigninLogs テーブルと join して、過去 30 日間ログインがない非アクティブユーザーを抽出します。

IdentityInfo
| where TimeGenerated > ago(14d)
| summarize arg_max(TimeGenerated, *) by AccountUPN
| project AccountUPN
| join kind=leftouter (
SigninLogs
| where TimeGenerated > ago(30d)
| summarize count() by UserPrincipalName
)
on $left.AccountUPN == $right.UserPrincipalName
| extend login_count = iff(isempty(count_),0,count_)
| project AccountUPN,login_count
| sort by login_count asc

Microsoft (有志)

Discussion