<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: User=unknown in Authentication DataModel in Splunk Enterprise Security</title>
    <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469811#M7145</link>
    <description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;It looks like src_user is not defined in the sourcetype=idp-process Rather, it is coming through from the datamodel definition:&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;No, its the other way round - Datamodels take thier fields from extractions, a datamodel can't add fields to a search.&lt;/P&gt;

&lt;P&gt;Back in your original question you said that the DM returns:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;action = success | app = shibboleth | src_user = user1 | tag = authentication tag = success | user = unknown
action = success | app = shibboleth | src_user = user2 | tag = authentication tag = success | user = unknown
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So its getting src_user from somewhere, just not from this TA as far as I can see.&lt;/P&gt;</description>
    <pubDate>Mon, 10 Feb 2020 21:03:29 GMT</pubDate>
    <dc:creator>nickhills</dc:creator>
    <dc:date>2020-02-10T21:03:29Z</dc:date>
    <item>
      <title>User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469800#M7134</link>
      <description>&lt;P&gt;Symptom:&lt;BR /&gt;
Our authentication datamodel is showing user=Unknown for events that have a username defined in the log.&lt;/P&gt;

&lt;P&gt;Example:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;2020-02-07 09:31:11,161 - xxx.xxx.xxx.xxxx - INFO [net.shibboleth.idp.authn.duo.impl.ValidateDuoWebResponse:200] - Profile Action ValidateDuoWebResponse: Duo authentication succeeded for 'user1'
2020-02-07 09:31:10,527 - xxx.xxx.xxx.xxx - INFO [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAP:152] - Profile Action ValidateUsernamePasswordAgainstLDAP: Login by 'user2' succeeded
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;The fields look ok, except user=unknown (respectively, below):&lt;BR /&gt;
action = success | app = shibboleth | src_user = user1 | tag = authentication tag = success | user = unknown&lt;BR /&gt;
action = success | app = shibboleth | src_user = user2 | tag = authentication tag = success | user = unknown&lt;/P&gt;

&lt;P&gt;I thought that adding a field alias in the props.conf for this app would do the trick...&lt;BR /&gt;
But it still seems to display user=unknown for the datamodel...&lt;/P&gt;

&lt;P&gt;Here is an eval expression for the datamodel definition:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;src_user=if(isnull(src_user) OR src_user="","unknown",src_user), user=if(isnull(user) OR user="","unknown",user)
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Sep 2020 04:09:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469800#M7134</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-09-30T04:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469801#M7135</link>
      <description>&lt;P&gt;The datamodel uses src_user and user for different purposes.&lt;/P&gt;

&lt;P&gt;"src_user" is used to refer to the user who initiated the action, where there is an escalation or modification&lt;BR /&gt;
"user" is the account on which something was modified in escalated events, or where there is no escalation it should be the initiator.&lt;BR /&gt;
&lt;A href="https://docs.splunk.com/Documentation/CIM/4.14.0/User/Authentication"&gt;https://docs.splunk.com/Documentation/CIM/4.14.0/User/Authentication&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;It looks like your shibboleth integration is populating the wrong field, which its why its missing in the datamodel.&lt;/P&gt;

&lt;P&gt;Ideally, you want to change the field extraction so that shibboleth populates user (not src_user)&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 15:01:56 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469801#M7135</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T15:01:56Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469802#M7136</link>
      <description>&lt;P&gt;@nickhillscpl &lt;BR /&gt;
Thanks for the explanation!&lt;/P&gt;

&lt;P&gt;I have this defined in our props:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;  [idp-process]
    EVAL-app = "shibboleth"
     ...
    EXTRACT-user,vendor_action = Login by '(?P&amp;lt;user&amp;gt;\S+)'\s+(?P&amp;lt;vendor_action&amp;gt;.+)
    EXTRACT-signature,vendor_action,user = net\.shibboleth\.idp\.authn\..*\] \- (?&amp;lt;signature&amp;gt;.*?)\:.*?\s+(?P&amp;lt;vendor_action&amp;gt;\S+) for '(?P&amp;lt;user&amp;gt;\S+)'
    EXTRACT-signature = \.\d{1,3}\s\-\s(?P&amp;lt;signature&amp;gt;[^:]+)\:
    EXTRACT-signature,user,vendor_action = net\.shibboleth\.idp\.authn\..*\] \- (?&amp;lt;signature&amp;gt;.*?)\:.*(?&amp;lt;user&amp;gt;No username)\s.*(?&amp;lt;vendor_action&amp;gt;UsernamePasswordContext)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Which seems to address the two use-cases that I have there... seems to return nothing. &lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;2020-02-10 10:13:22,181 - xxx.xxx.xxx.xxx - INFO [net.shibboleth.idp.authn.duo.impl.ValidateDuoWebResponse:200] - Profile Action ValidateDuoWebResponse: Duo authentication succeeded for 'user1'
2020-02-10 10:13:21,414 - xxx.xxx.xxx.xxx - INFO [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAP:152] - Profile Action ValidateUsernamePasswordAgainstLDAP: Login by 'user1' succeeded
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I get neither field user or src_user.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 15:16:42 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469802#M7136</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T15:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469803#M7137</link>
      <description>&lt;P&gt;I agree, the extractions and regex looks (and tests) good.&lt;BR /&gt;
Are you looking at the props.conf on your searchhead?&lt;/P&gt;

&lt;P&gt;Do the fields extract correctly if you search your logs?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 15:28:39 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469803#M7137</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T15:28:39Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469804#M7138</link>
      <description>&lt;P&gt;They did not appear to extract properly when I search the log directly.&lt;/P&gt;

&lt;P&gt;e.g. &lt;BR /&gt;
index=shib sourcetype=idp-process&lt;/P&gt;

&lt;P&gt;Shows events with no user, this is likely why the DataModel shows user=unknown!&lt;/P&gt;

&lt;P&gt;This TA is deployed on the Indexer, SH, and Enterprise Security SH&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 15:39:46 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469804#M7138</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T15:39:46Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469805#M7139</link>
      <description>&lt;P&gt;Is the TA, and its Knowledge objects shared Globally?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 16:12:48 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469805#M7139</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T16:12:48Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469806#M7140</link>
      <description>&lt;P&gt;It would appear so..&lt;/P&gt;

&lt;P&gt;TA-Shib -- global, everyone&lt;BR /&gt;
index=shib -- global, everyone&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 17:57:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469806#M7140</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T17:57:38Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469807#M7141</link>
      <description>&lt;P&gt;Oh, so you are not using this: &lt;A href="https://splunkbase.splunk.com/app/4389/"&gt;https://splunkbase.splunk.com/app/4389/&lt;/A&gt; ??&lt;/P&gt;

&lt;P&gt;Can you paste the whole props.conf and transforms.conf? (redacted if necessary)&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 18:00:11 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469807#M7141</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T18:00:11Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469808#M7142</link>
      <description>&lt;P&gt;We are not using the Shib splunkbase app..&lt;BR /&gt;
I'm not sure why not.&lt;/P&gt;

&lt;P&gt;Here are the props.conf and transforms.conf&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Props.conf&lt;/STRONG&gt;&lt;BR /&gt;
    [idp-audit]&lt;BR /&gt;
    CHARSET=UTF-8&lt;BR /&gt;
    MAX_TIMESTAMP_LOOKAHEAD=18&lt;BR /&gt;
    #REPORT-idp_audit=REPORT-idp_audit&lt;BR /&gt;
    SHOULD_LINEMERGE=false&lt;BR /&gt;
    disabled=false&lt;BR /&gt;
    TIME_FORMAT=%Y%m%dT%H%M%SZ&lt;BR /&gt;
    TIME_PREFIX=|&lt;BR /&gt;
    TZ=UTC&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;REPORT-idp-audit = REPORT-idp-audit

##From shib docs field name is 'a'
FIELDALIAS-src_ip = SSOclientIP AS src_ip
FIELDALIAS-src = SSOclientIP AS src

##field name is 'u'
FIELDALIAS-user = SSOprincipalName AS user

FIELDALIAS-url = SSOrelyingPartyID AS url
FIELDALIAS-SSOrelayingPartyID = SSOrelyingPartyID AS SSOrelayingPartyID

[idp-process]
EVAL-app = "shibboleth"
EVAL-action = case(vendor_action="succeeded" OR vendor_action="true","success", vendor_action="failed" OR vendor_action="false","failure")

FIELDALIAS-dest = SSOrelayingPartyID AS dest
EXTRACT-log_level,process,pid = ^(?:[^ \n]* ){3}(?P&amp;lt;log_level&amp;gt;\w+)\s+\[(?P&amp;lt;process&amp;gt;[^\]:]+)\:(?&amp;lt;pid&amp;gt;\d+)\]
EXTRACT-src_ip = \] \- (?P&amp;lt;src_ip&amp;gt;\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
EXTRACT-user,vendor_action = Login by '(?P&amp;lt;user&amp;gt;\S+)'\s+(?P&amp;lt;vendor_action&amp;gt;.+)
EXTRACT-signature,vendor_action,user = net\.shibboleth\.idp\.authn\..*\] \- (?&amp;lt;signature&amp;gt;.*?)\:.*?\s+(?P&amp;lt;vendor_action&amp;gt;\S+) for '(?P&amp;lt;user&amp;gt;\S+)'
EXTRACT-signature = \.\d{1,3}\s\-\s(?P&amp;lt;signature&amp;gt;[^:]+)\:
EXTRACT-signature,user,vendor_action = net\.shibboleth\.idp\.authn\..*\] \- (?&amp;lt;signature&amp;gt;.*?)\:.*(?&amp;lt;user&amp;gt;No username)\s.*(?&amp;lt;vendor_action&amp;gt;UsernamePasswordContext)

REPORT-idp-process-fields = REPORT-idp-process-fields

##From shib docs field name is 'a'
FIELDALIAS-src_ip = SSOclientIP AS src_ip
FIELDALIAS-src = SSOclientIP AS src

##field name is 'u'
FIELDALIAS-user = SSOprincipalName AS user

FIELDALIAS-url = SSOrelyingPartyID AS url
FIELDALIAS-SSOrelayingPartyID = SSOrelyingPartyID AS SSOrelayingPartyID

[idp-warning]
EXTRACT-log_level,process,pid = ^(?:[^ \n]* ){3}(?P&amp;lt;log_level&amp;gt;\w+)\s+\[(?P&amp;lt;process&amp;gt;[^\]:]+)\:(?&amp;lt;pid&amp;gt;\d+)\]
EXTRACT-src_ip = \] \- (?P&amp;lt;src_ip&amp;gt;\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
EXTRACT-user,vendor_action = Login by '(?P&amp;lt;user&amp;gt;\S+)'\s+(?P&amp;lt;vendor_action&amp;gt;.+)
EXTRACT-signature = \.\d{1,3}\s\-\s(?P&amp;lt;signature&amp;gt;[^:]+)\:
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;Transforms.conf:&lt;/STRONG&gt;&lt;BR /&gt;
[REPORT-idp-audit]&lt;BR /&gt;
DELIMS = "|"&lt;BR /&gt;
FIELDS = "SSOclientIP","SSOauditEventTime","SSOrequestBinding","SSOrequestId","SSOrelyingPartyID","SSOmessageProfileId","SSOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMethod","SSOreleasedAttributeID","SSOnameIdentifier","SSOassertionID"&lt;/P&gt;

&lt;P&gt;[REPORT-idp-process-fields]&lt;BR /&gt;
DELIMS = "|"&lt;BR /&gt;
FIELDS = "event_headers","SSOrequestBinding","SSOrequestId","SSOrelayingPartyID","SSOmessageProfileId","SSOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMethod","SSOreleasedAttributeID","SSOnameIdentifier","SSOassertionID"&lt;/P&gt;

&lt;P&gt;And apparently /local/props.conf&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[idp-audit]
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TIME_FORMAT=%Y%m%dT%H%M%SZ
TIME_PREFIX=\|
TZ=America/New_York
TRUNCATE=99999
FIELDALIAS-src_ip = Client_IP AS src_ip
FIELDALIAS-src = Client_IP AS src
FIELDALIAS-user = Username AS user

[idp-process]
LINE_BREAKER = ([\n\r]+)\d{4}-\d{1,2}-\d{1,2}\s\d+:\d+:\d+
TIME_FORMAT=%Y-%m-%d %H:%M:%S,%3Q
TZ=America/New_York
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TRUNCATE=99999
EXTRACT-src_ip = \|(?P&amp;lt;src_ip&amp;gt;\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\|
EXTRACT-message = (\]\s-\s)(?P&amp;lt;message&amp;gt;[a-zA-Z0-9:?\s.\(\):\/=%&amp;amp;]+)([\n\r]+)
EXTRACT-reason= --(?P&amp;lt;potential_reason&amp;gt;[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;]+\S)\s+at
EXTRACT-examples = \s+at\s+(?P&amp;lt;example_of__reason&amp;gt;[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;.]+)\s


[idp-warning]
LINE_BREAKER = ([\n\r]+)\d{4}-\d{1,2}-\d{1,2}\s\d+:\d+:\d+
TIME_FORMAT=%Y-%m-%d %H:%M:%S,%3Q
TZ=America/New_York
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TRUNCATE=99999
EXTRACT-src_ip = \|(?P&amp;lt;src_ip&amp;gt;\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\|
EXTRACT-message = (\]\s-\s)(?P&amp;lt;message&amp;gt;[a-zA-Z0-9:?\s.\(\):\/=%&amp;amp;]+)([\n\r]+)
EXTRACT-reason= --(?P&amp;lt;potential_reason&amp;gt;[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;]+\S)\s+at
EXTRACT-examples = \s+at\s+(?P&amp;lt;example_of_reason&amp;gt;[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;.]+)\s
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;And local/transforms.conf&lt;BR /&gt;
    [REPORT-idp-audit]&lt;BR /&gt;
    DELIMS = "|"&lt;BR /&gt;
    FIELDS = "Timestamp","Client_IP","Inbound_binding","Inbound_message_ID","Service_provider_name","Profile_ID","Identity_provider_name","Outbound_binding","Outbound_message_ID","Username","AuthenticationContext","Attributes","NameID_value"&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;#FIELDS = "timestamp","SSOclientIP","SSOauditEventTime","SSOrequestBinding","SSOrequestId","SSOrelyingPartyID","SSOmessageProfileId","SSOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMethod","SSOrelease
dAttributeID","SSOnameIdentifier","SSOassertionID"


[REPORT-idp-process-fields]
DELIMS = "|"
FIELDS = event_headers,SSOclientIP,SSOrequestBinding,SSOrequestId,SSOrelayingPartyID,SSOmessageProfileId,SSOassertingPartyId,SSOresponseBinding,SSOresponseId,SSOprincipalName,SSOauthNMethod,SSOreleasedAttributeID,SSOnameIdentifier,SSOasser
tionID,field15,field16,url,uri_path,field19,signature,vendor_action,http_user_agent,field23
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Sep 2020 04:09:30 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469808#M7142</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-09-30T04:09:30Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469809#M7143</link>
      <description>&lt;P&gt;I cant see anything wroing with your config - moreover, i cant see any definition for src_user!!&lt;/P&gt;

&lt;P&gt;My thought process therefore, is where is src_user comming from?&lt;BR /&gt;
Have a look in your field extractions/aliases/calc.fields for anything which monkeying with src_user which could apply to thet source type.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 04:09:35 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469809#M7143</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-09-30T04:09:35Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469810#M7144</link>
      <description>&lt;P&gt;It looks like src_user is not defined in the sourcetype=idp-process&lt;BR /&gt;
Rather, it is coming through from the datamodel definition:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;src_user=if(isnull(src_user) OR src_user="","unknown",src_user)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;The implementer here also created a separate TA:  TA-shib_inputs&lt;/P&gt;

&lt;P&gt;Which has additional props/transforms.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;**default/props.conf**
[idp-audit]
CHARSET=UTF-8
MAX_TIMESTAMP_LOOKAHEAD=18
#REPORT-idp_audit=REPORT-idp_audit
SHOULD_LINEMERGE=false
disabled=false
TIME_FORMAT=%Y%m%dT%H%M%SZ
TIME_PREFIX=\|
TZ=UTC

REPORT-idp-audit = REPORT-idp-audit

##From shib docs field name is 'a'
FIELDALIAS-src_ip = SSOclientIP AS src_ip
FIELDALIAS-src = SSOclientIP AS src

##field name is 'u'
FIELDALIAS-user = SSOprincipalName AS user

FIELDALIAS-url = SSOrelyingPartyID AS url
FIELDALIAS-SSOrelayingPartyID = SSOrelyingPartyID AS SSOrelayingPartyID

[idp-process]
EVAL-app = "shibboleth"
EVAL-action = case(vendor_action="succeeded","success", vendor_action="failed","failure")

EXTRACT-log_level,process,pid = ^(?:[^ \n]* ){3}(?P\w+)\s+\[(?P[^\]:]+)\:(?\d+)\]
EXTRACT-src_ip = \] \- (?P\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
EXTRACT-user,vendor_action = Login by '(?P\S+)'\s+(?P.+)
EXTRACT-signature = \.\d{1,3}\s\-\s(?P[^:]+)\:

REPORT-idp-process-fields = REPORT-idp-process-fields

##From shib docs field name is 'a'
FIELDALIAS-src_ip = SSOclientIP AS src_ip
FIELDALIAS-src = SSOclientIP AS src

##field name is 'u'
FIELDALIAS-user = SSOprincipalName AS user

FIELDALIAS-url = SSOrelyingPartyID AS url
FIELDALIAS-SSOrelayingPartyID = SSOrelyingPartyID AS SSOrelayingPartyID

**default/transforms.conf:**
[REPORT-idp-audit]
DELIMS = "|"
FIELDS = "SSOclientIP","SSOauditEventTime","SSOrequestBinding","SSOrequestId","SSOrelyingPartyID","SSOmess
ageProfileId","SSOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMetho
d","SSOreleasedAttributeID","SSOnameIdentifier","SSOassertionID"

[REPORT-idp-process-fields]
DELIMS = "|"
FIELDS = "event_headers","SSOrequestBinding","SSOrequestId","SSOrelayingPartyID","SSOmessageProfileId","SS
OassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMethod","SSOreleasedAt
tributeID","SSOnameIdentifier","SSOassertionID"

**local/props.conf**
[idp-audit]
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TIME_FORMAT=%Y%m%dT%H%M%SZ
TIME_PREFIX=\|
TZ=EST
TRUNCATE=99999
FIELDALIAS-src_ip = Client_IP AS src_ip
FIELDALIAS-src = Client_IP AS src
FIELDALIAS-user = Username AS user

[idp-process]
LINE_BREAKER = \d{4}-\d{1,2}-\d{1,2}\s\d+:\d+:\d+
TIME_FORMAT=%Y-%m-%d\s%H:%M:%S
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TZ=EST
TRUNCATE=99999
EXTRACT-loglevel = \d{3}\s\-\s(?P\w+)\s
EXTRACT-logger = \[(?P.*):\d+\]
EXTRACT-logline = \[.*:(?P\d+)\]
EXTRACT-message = (\]\s-\s)(?P[a-zA-Z0-9:?\s.\(\):\/=%&amp;amp;]+)(\s'|([\n\r]+)\d+)
EXTRACT-key_value = '(?P[a-zA-Z0-9]+)'
EXTRACT-reason= --(?P[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;]+\S)\s+at
EXTRACT-examples = \s+at\s+(?P[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;.]+)\s

[idp-warning]
LINE_BREAKER = \d{4}-\d{1,2}-\d{1,2}\s\d+:\d+:\d+
TIME_FORMAT=%Y-%m-%d\s%H:%M:%S
MAX_TIMESTAMP_LOOKAHEAD=28
SHOULD_LINEMERGE=false
disabled=false
TZ=EST
TRUNCATE=99999
EXTRACT-loglevel = \d{3}\s\-\s(?P\w+)\s
EXTRACT-logger = \[(?P.*):\d+\]
EXTRACT-logline = \[.*:(?P\d+)\
EXTRACT-message = (\]\s-\s)(?P[a-zA-Z0-9:?\s.\(\):\/=%&amp;amp;]+)(\s'|([\n\r]+)\d+)
EXTRACT-key_value = '(?P[a-zA-Z0-9]+)'
EXTRACT-reason= --(?P[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;]+\S)\s+at
EXTRACT-examples = \s+at\s+(?P[a-zA-Z0-9:?\s\(\):\/=%&amp;amp;.]+)\s

**local/transforms.conf**
[REPORT-idp-audit]
DELIMS = "|"
FIELDS = "Client_IP","Timestamp","Inbound_binding","Inbound_message_ID","Service_provider_name","Profile_I
D","Identity_provider_name","Outbound_binding","Outbound_message_ID","Username","AuthenticationContext","A
ttributes","NameID_value"
#FIELDS = "SSOclientIP","SSOauditEventTime","SSOrequestBinding","SSOrequestId","SSOrelyingPartyID","SSOmes
sageProfileId","SSOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMeth
od","SSOreleasedAttributeID","SSOnameIdentifier","SSOassertionID"


#[REPORT-idp-process-fields]
#DELIMS = "|"
#FIELDS = "event_headers","SSOrequestBinding","SSOrequestId","SSOrelayingPartyID","SSOmessageProfileId","S
SOassertingPartyId","SSOresponseBinding","SSOresponseId","SSOprincipalName","SSOauthNMethod","SSOreleasedA
ttributeID","SSOnameIdentifier","SSOassertionID"
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 10 Feb 2020 20:50:44 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469810#M7144</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T20:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469811#M7145</link>
      <description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;It looks like src_user is not defined in the sourcetype=idp-process Rather, it is coming through from the datamodel definition:&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;No, its the other way round - Datamodels take thier fields from extractions, a datamodel can't add fields to a search.&lt;/P&gt;

&lt;P&gt;Back in your original question you said that the DM returns:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;action = success | app = shibboleth | src_user = user1 | tag = authentication tag = success | user = unknown
action = success | app = shibboleth | src_user = user2 | tag = authentication tag = success | user = unknown
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So its getting src_user from somewhere, just not from this TA as far as I can see.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 21:03:29 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469811#M7145</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T21:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469812#M7146</link>
      <description>&lt;P&gt;Here's a funny interaction...&lt;BR /&gt;
With the search:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;index="shib" host="myhost" signature="INFO [net.shibboleth.idp.authn.duo.impl.ValidateDuoWebResponse"
| where isnull(user)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I get what you would expect... a number of problematic logs where for some reason the user field is not populated..&lt;/P&gt;

&lt;P&gt;After some time, I did the search again, and it says No Results Found.&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
&lt;P&gt;user&lt;BR /&gt;
100 Values, 99.139% of events&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;When I ran this search initially, it found ~25% of events with user value....&lt;BR /&gt;
Is this because it is performing the field extraction at search-time?!&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 21:05:28 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469812#M7146</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T21:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469813#M7147</link>
      <description>&lt;P&gt;Everything you have defined in that TA is a searchtime extraction.&lt;BR /&gt;
As a general rule, you want fields to be searchtime extractions (they are more flexible and fast)&lt;BR /&gt;
In other words, unless you have a specific need to use index time extractions you are best to avoid them.&lt;/P&gt;

&lt;P&gt;If your search is now returning good data for the search fields, I wonder if  your data model will also include them correctly populated too?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 21:11:30 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469813#M7147</guid>
      <dc:creator>nickhills</dc:creator>
      <dc:date>2020-02-10T21:11:30Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469814#M7148</link>
      <description>&lt;P&gt;Doesn't look like it...&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
&lt;P&gt;| from datamodel Authentication&lt;BR /&gt;
| search app=shibboleth user=unknown&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;PRE&gt;&lt;CODE&gt;2/10/20
4:18:13.170 PM  
2020-02-10 16:18:13,170 - XXX.XXX.XXX.XXX - INFO [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAP:152] - Profile Action ValidateUsernamePasswordAgainstLDAP: Login by 'user1' succeeded

action = success successapp = shibboleth dest = unknown signature = INFO [net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAPsource = /var/log/shibboleth-idp/idp-process.log sourcetype = idp-process src = unknown src_user = unknown 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 10 Feb 2020 21:20:47 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469814#M7148</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T21:20:47Z</dc:date>
    </item>
    <item>
      <title>Re: User=unknown in Authentication DataModel</title>
      <link>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469815#M7149</link>
      <description>&lt;P&gt;index="shib"&lt;BR /&gt;
| where isnull(user) &lt;BR /&gt;
| search "net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAP:152"&lt;/P&gt;

&lt;P&gt;And there it is...&lt;/P&gt;

&lt;P&gt;a similar search:&lt;BR /&gt;
index="shib"  "net.shibboleth.idp.authn.impl.ValidateUsernamePasswordAgainstLDAP:152"&lt;/P&gt;

&lt;P&gt;user&lt;BR /&gt;
100 Values, 100% of events&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2020 21:23:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Enterprise-Security/User-unknown-in-Authentication-DataModel/m-p/469815#M7149</guid>
      <dc:creator>richardphung</dc:creator>
      <dc:date>2020-02-10T21:23:22Z</dc:date>
    </item>
  </channel>
</rss>

