Detection rules › Panther
Okta Investigate User Activity
This is an enrichment or summary query that produces aggregate or lookup data for other rules to consume, not a standalone detection. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.
Audit user activity across your environment. Customize to filter on specific users, time ranges, etc
Rule body yaml
AnalysisType: scheduled_query
QueryName: "Okta Investigate User Activity"
Enabled: false
Description: >
Audit user activity across your environment. Customize to filter on specific users, time ranges, etc
Query: |
SELECT actor:displayName AS actor_name, actor:alternateId AS actor_email, eventType, COUNT(*) AS activity_count
FROM panther_logs.public.okta_systemlog
WHERE p_occurs_since('7 days')
AND actor:type = 'User'
-- Uncomment lines below to filter by user email and/or eventType
-- and actor_email = 'email'
-- and eventType = 'eventType'
GROUP BY actor:displayName, actor:alternateId, eventType
ORDER BY actor_name, activity_count DESC
Schedule:
RateMinutes: 43200
TimeoutMinutes: 1
Detection logic
Stage 1: source
panther_logs.public.okta_systemlog
Stage 2: filter
actor:type eq "User"
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
actor:type | eq |
|
Output fields
Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.
| Field | Source |
|---|---|
actor_name | actor:displayName |
actor_email | actor:alternateId |
eventType | |
activity_count | COUNT ( * ) |