📓
Sentinel UEBA の IdentityInfo テーブルを使い、非アクティブアカウントを抽出する
はじめに
Sentinel UEBA を有効にすると、Azure AD のデータが IdentityInfo テーブルに同期されます。こちらを使用して各種ユーザーの分析が可能です。ここでは非アクティブアカウントの抽出をしてみます。
IdentityInfo テーブルの仕様
- 初期同期には数日かかる可能性があるが、データは一度で完全に同期
- Azure AD でユーザー プロファイルに対して行われた変更は、15 分以内に IdentityInfo テーブルで更新
- グループとロールの情報は、IdentityInfo テーブルと Azure AD の間で毎日同期
- 古いレコードが完全に更新されるように、14 日ごとにAzure AD 全体と同期し直し
- IdentityInfo テーブルの既定の保有期間は 30 日
使ってみる
以下でアカウントの一覧取得ができます。所属グループや割り当てロールも確認できます。
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
Discussion