Detection rules › Panther
Okta Admin Access Granted
This is a threat-hunting query, not an automated detection. It surfaces activity for an analyst to review rather than firing on a match. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.
Audit instances of admin access granted in your okta tenant
Rules detecting the same action
Other rules on this platform that filter on the same API call or operation.
- Administrator Privileges Assigned to an Okta Group (Elastic)
- High-Risk Admin Activity (Kusto)
- Okta Admin Role Assigned (Panther)
- Okta Admin Role Assigned to an User or Group (Sigma)
- Okta User Assigned Administrator Role (Elastic)
Rule body yaml
AnalysisType: scheduled_query
QueryName: "Okta Admin Access Granted"
Enabled: false
Description: >
Audit instances of admin access granted in your okta tenant
Query: |
SELECT
p_event_time as event_time,
actor:alternateId as actor_email,
actor:displayName as actor_name,
displayMessage,
eventType,
debugContext:debugData:privilegeGranted as priv_granted,
target as target_name,
client:ipAddress as src_ip,
client:geographicalContext:city as city,
client:geographicalContext:country as country,
client:userAgent:rawUserAgent as user_agent
FROM
panther_logs.public.okta_systemlog
WHERE
( eventType = 'user.account.privilege.grant'
OR
eventType = 'group.privilege.grant'
AND
debugContext:debugData:privilegeGranted like '%Admin%'
)
AND
p_occurs_between('2022-01-14','2022-03-22')
ORDER BY
event_time desc
Schedule:
RateMinutes: 43200
TimeoutMinutes: 1
Detection logic
Stage 1: source
panther_logs.public.okta_systemlog
Stage 2: filter
eventType eq "user.account.privilege.grant" or (eventType eq "group.privilege.grant" and debugContext:debugData:privilegeGranted wildcard "*Admin*")
This rule also runs imperative logic the parser cannot express as a filter; the conditions above are the structured part it could extract.
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 |
|---|---|---|
debugContext:debugData:privilegeGranted | wildcard |
|
eventType | 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 |
|---|---|
event_time | p_event_time |
actor_email | actor:alternateId |
actor_name | actor:displayName |
displayMessage | |
eventType | |
priv_granted | debugContext:debugData:privilegeGranted |
target_name | target |
src_ip | client:ipAddress |
city | client:geographicalContext:city |
country | client:geographicalContext:country |
user_agent | client:userAgent:rawUserAgent |