XDM fields for mapping authentication events
Map authentication events to Cortex XSIAM XDM fields for normalized identity data and authentication stories.
This section provides a comprehensive guide to mapping authentication events from various customer log sources to the Cortex Data Model (XDM) schema. Each relevant XDM field is detailed, including whether the field is mandatory or optional, the corresponding Authentication Story field, data type, and purpose, ensuring consistent data normalization essential for robust security analysis and threat detection.
The fields that are mandatory to map are listed below with an asterisk (*) beside them as these fields must be mapped to automatically create authentication stories for XDM identity data.
Note
For more information on the entire Cortex Data model (XDM) schema, see Cortex XSIAM Data Model Schema.
For technical conventions and implementation logic for complex authentication scenarios, see Authentication mapping: Advanced classification and deep dives.
Mandatory fields
1. xdm.source.port*
Authentication Story Field:
action_local_portType: integer
Requirement: Mandatory
Implementation: Map real value; otherwise
to_integer(0).Data Model Rule example:
xdm.source.port=to_integer(0)2. xdm.target.ipv4*
Authentication Story Field:
action_remote_ipType: string
Requirement: Mandatory
Description: The external source IPv4 address observed by the IdP or SaaS.
Data Model Rule example:
3. xdm.target.port*
Authentication Story Field:
action_remote_portType: integer
Requirement: Mandatory
Implementation: Map real value; otherwise
to_integer(0).Data Model Rule example:
4. xdm.network.ip_protocol*
Authentication Story Field:
action_network_protocolType: integer (enum)
Requirement: Mandatory See full list of options for this enum in the XDM IP Protocol documentation.
Data Model Rule example:
5. xdm.event.type*
Authentication Story Field:
dfe_labelsandevent_typeType: string
Requirement: Mandatory
Description: Represents events related to authentication activity, such as login attempts, SSO sessions, and MFA challenges.
Required Value: Must resolve to a value that contains
"authentication"Data Model Rule example:
6. xdm.event.tags*
Authentication Story Field:
dfe_labelsType: array<string>
Requirement: Mandatory
Description: Represents events related to authentication activity, such as login attempts, SSO sessions, and MFA challenges.
Required Value: Must contain
XDM_CONST.EVENT_TAG_AUTHENTICATIONData Model Rule example:
7. xdm.source.ipv4*
Authentication Story Field:
action_local_ipType: string
Requirement: Mandatory
Description: Represents the external IPv4 address from which the user authenticated. This is the IP address observed by the identity provider or SaaS system when the authentication request was processed. It typically reflects the user’s public-facing network location, such as their home IP, office gateway, or VPN egress point.
Note
Do not map a static string, list, or empty string. You must map this field from the raw log field that best represents the actual source IP used in the authentication attempt. In cases where multiple IP fields are available, such as client_ip, source_ip, and original_client_ip, choose the field that captures the IP address from which the user initially triggered the authentication request - before any processing by proxies or intermediate systems.
8. xdm.event.operation*
Authentication Story Field:
event_sub_typeType: string
Requirement: Mandatory
Description: This field describes the type of authentication flow, such as a regular login or a multi-factor authentication (MFA) event. It helps standardize different event types from various sources into two clear categories - making detection logic easier to build, understand, and reuse across systems.
Supported values:
XDM_CONST.OPERATION_TYPE_AUTH_LOGIN: Login using only a passwordXDM_CONST.OPERATION_TYPE_AUTH_MFA: Login that involves multi-factor authenticationXDM_CONST.OPERATION_TYPE_AUDIT: Authorization, accounting, or policy evaluation.Data Model Rule example: The following pseudocode is an example only, which must be modified to implement the logic in the correct syntax by the mapped data source to different event types.
9. xdm.event.original_event_type*
Authentication Story Field:
sso_event_typeType: string
Requirement: Mandatory
Description: This field captures the original name or label of the event as it appears in the raw log source. It serves as a direct reflection of the source-specific event type and is essential for maintaining source context.
Example values:
user.authentication.sso(Okta – SSO authentication event)user.mfa.okta_verify.push.deny(Okta – MFA denied)user.session.start(Okta – Session initiated)microsoft.login.success(Azure AD – Successful login)microsoft.mfa.challenge.fail(Azure AD – MFA failure)google.sign_in.challenge(Google Workspace – Sign-in challenged)user.lockout(Generic – Account locked due to failed attempts)
10. xdm.auth.service*
Authentication Story Field:
auth_serviceType: string
Requirement: Mandatory
Description: This field defines the role the system played in the authentication flow for this specific record, such as identity provider or relying party, and should reflect event-specific context.
Supported values:
IDP: Use when the system validates the credential (such as Okta, Entra ID, Domain Controller).
SP: Use when the system initiates the request and relies on another to validate (such as a relying-party app consuming SSO).
Universal: Use when the source is NOT a known IdP provider (such as local accounts, TACACS+, RADIUS, device SSH).
Data Model Rule example for Okta:
Note
Mapping should be done per event type. The same system could be an IDP in one event and an SP in another. NEVER use a service or protocol name like "Kerberos", "SSH", or "Login" in this field.
11. xdm.event.outcome*
Authentication Story Field:
auth_outcomeType: string (enum)
Requirement: Mandatory
Description: Specifies the final result of the authentication attempt. Use values such as
OUTCOME_SUCCESSorOUTCOME_FAILUREonly for events that definitively represent the conclusion of the authentication process, such as when access is explicitly granted or denied. Avoid assigning these values to intermediate steps that don’t reflect the outcome.Supported values:
XDM_CONST.OUTCOME_SUCCESSXDM_CONST.OUTCOME_FAILED
Note
For more information on the event outcome constants in the Cortex Data Model, see XDM_CONST.OUTCOME.
Data Model Rule example logic:
Note
Outcome is based on a conclusive event type reflecting the true end state of the authentication flow.Critical for the effectiveness of detection rules. Incorrect derivation can lead to missed detections or false positives.
12. xdm.source.user.upn*
Authentication Story Field:
auth_identityType: string
Requirement: Mandatory
Description: Represents the user identity associated with the authentication or access event. This field must be populated using the User Principal Name (UPN) format. It cannot be left empty. Using UPN as a normalized identity format ensures consistency across diverse identity providers, such as Azure AD, Okta, and on-prem AD, and authentication flows. It plays a central role in correlating activity across logs, enriching detections, and building an accurate authentication story across systems.
Example value:
jane.doe@company.comData Model Rule implementation: If the raw identity is a bare username, synthesize the UPN format:
if(tmp_username contains "@", tmp_username, tmp_username != null, concat(tmp_username, "@localhost")).
Optional fields
Last updated
Was this helpful?
