Lookups are external reference tables used by Splunk to map field values to additional information. In Splunk ES, lookups are essential for adding business, geographical, or organizational context to events.
Rather than relying on raw data alone (like an IP address or username), lookups help answer questions like:
Who does this user belong to?
What type of device is this IP associated with?
What is the business function of this system?
These are static files stored locally within Splunk.
Commonly used for simple field-to-value mappings.
Format: Comma-separated values (CSV), e.g.,:
ip,country
192.168.1.1,United States
Use Cases:
Map IP addresses to countries.
Link usernames to roles or departments.
Tag hosts with asset types (e.g., laptop, server, firewall).
Key-Value store lookups are dynamic and editable via the Splunk Web UI or API.
More scalable and interactive than CSVs.
Support add/update/delete operations through scripts or the GUI.
Use Cases:
Track live inventory of assets.
Update threat intelligence indicators.
Maintain dynamic user role mappings.
These use custom scripts (e.g., Python) to enrich data in real-time during a search.
Can query external databases or APIs (like VirusTotal or GeoIP).
Use Cases:
Enrich IPs with live threat feed data.
Check user risk profiles from third-party identity platforms.
Query live vulnerability databases to validate host risk levels.
Lookups enhance many critical areas of Splunk ES, including correlation logic, dashboards, and investigation tools.
Map IP addresses to asset hostnames or device types.
Link usernames to departments, business roles, or access levels.
Add custom business context (e.g., asset criticality, geographic region).
Filter or enrich correlation searches by appending data from lookup tables.
This allows alerts to be prioritized based on who or what is involved, not just what occurred.
This is a specific application of lookups, focused on understanding “who” (identities) and “what” (assets) are part of any given event.
Found in:
$SPLUNK_HOME/etc/apps/SA-IdentityManagement/lookups
Key Files:
assets.csv: Maps IPs/MACs to hostnames, asset type, location, owner, and priority.
identities.csv: Maps usernames or email addresses to full names, departments, and access tiers.
These files provide Splunk ES with enriched identity context used in:
Dashboards
Correlation searches
Risk calculations
Assets and identities include a priority field:
Values can be: Low, Medium, High, or Critical.
This field directly affects risk scoring in correlation rules and alerts.
Example:
A “Critical” asset involved in an event will cause the alert to have a higher risk score than if it involved a “Low” priority system.
This ensures that important systems/users get the most attention from analysts.
Splunk ES provides the Asset and Identity Center dashboard to:
View loaded identity and asset records.
Check field mappings and record quality.
Validate lookup status and usage across correlation searches.
This dashboard is essential for ongoing maintenance of identity context and ensuring that field mappings are accurate.
| Element | Description |
|---|---|
| CSV Lookups | Static tables for mapping values like IP-to-location or user-to-role |
| KV Store Lookups | Dynamic lookups editable via UI/API for real-time enrichment |
| External Lookups | Script-based real-time context from external sources or APIs |
| Identity Management Files | assets.csv and identities.csv provide context for “who” and “what” |
| Priority Field | Defines importance of assets/users and affects risk scoring |
| Validation Dashboard | Asset and Identity Center used to validate, view, and manage lookup data |
props.conf + transforms.confAutomatic lookups are a core part of making data enrichment seamless in Splunk. They allow Splunk to append values from a lookup table to events at search time, without requiring the user to explicitly call the lookup command.
In transforms.conf, you define the lookup logic (i.e., the file to use and how fields map).
In props.conf, you define when and for which sourcetype that lookup should be applied.
transforms.conf
[add_department_info]
filename = identities.csv
match_type = WILDCARD(user)
lookup_fields = user
output_fields = department, role
props.conf
[sourcetype=syslog]
LOOKUP-add_department = add_department_info user OUTPUT department, role
This will enrich events from sourcetype=syslog by matching the user field with values in identities.csv, automatically appending the user’s department and role.
When a lookup fails (i.e., the input field has no match in the lookup table), Splunk:
Does not generate an error
Returns null (empty) values for the output fields
The event continues processing as normal
If a user value in an event is john.doe, but john.doe does not exist in identities.csv, then:
user="john.doe", department="", role=""
This can be handled in SPL using logic like:
... | eval user_context=if(isnull(department), "unknown", department)
Or filtered explicitly:
... | where isnotnull(department)
This behavior ensures query robustness, even when lookups are incomplete or in-progress.
Splunk Enterprise Security supports KV Store-based lookups, which are ideal for storing dynamic identity or asset context.
If the Lookup Editor app is installed (available via Splunkbase), you can manage KV Store collections directly from the UI:
Navigate to:
Settings > Lookups > Lookup Editor
From here, you can:
View all KV Store-based lookups
Add, delete, or update rows (e.g., identities, asset mappings)
Edit individual fields (e.g., priority, owner, location)
Sort and search within the lookup table
| KV Store Lookup | Purpose |
|---|---|
identities.csv |
Maps user → real_name, department |
assets.csv |
Maps ip or mac → asset_type, site |
| Custom collections | User-created lookups for threat feeds or roles |
Using the GUI editor reduces the need for CLI interaction and is suitable for analysts or administrators who need to manage records frequently.
| Topic | Enhancement Description |
|---|---|
| Automatic Lookups | Shows how to apply lookup enrichment via props.conf and transforms.conf |
| Lookup Failure Behavior | Explains how Splunk handles missing matches by returning nulls, not errors |
| GUI-Based KV Store Management | Introduces the Lookup Editor for easy creation/editing of dynamic lookup entries |
What is the purpose of the Asset and Identity framework in Splunk Enterprise Security?
The Asset and Identity framework provides contextual information about systems and users that enhances detection accuracy and alert prioritization.
This framework maintains lookup tables containing information such as hostnames, IP addresses, user accounts, and priority values. When a correlation search generates a notable event, ES references these lookups to determine asset importance and user context. The framework helps security teams prioritize alerts involving critical assets or privileged users. Without asset and identity context, alerts may lack meaningful prioritization and situational awareness.
Demand Score: 82
Exam Relevance Score: 88
How do asset priority values influence notable event urgency?
Asset priority values are combined with detection severity to calculate the urgency level of a notable event.
Splunk ES calculates urgency by evaluating both the severity of the detection rule and the priority assigned to the associated asset or identity. For example, a medium-severity detection involving a high-priority server may generate a high-urgency alert. This prioritization model ensures that alerts affecting critical systems receive greater attention from analysts.
Demand Score: 79
Exam Relevance Score: 87
What role do lookup tables play in Splunk Enterprise Security?
Lookup tables store contextual data used to enrich security events during analysis and detection processes.
Lookups provide additional information about assets, identities, threat indicators, or organizational metadata. When correlation searches analyze events, ES references lookup tables to enrich the data with contextual attributes such as asset importance, department ownership, or user roles. This enrichment improves the quality of alerts and investigations.
Demand Score: 74
Exam Relevance Score: 84
Why must identity data be maintained and updated regularly?
Regular updates ensure that alerts and investigations reflect current user roles, privileges, and system ownership.
Organizations frequently change user roles, system assignments, and infrastructure. If identity data becomes outdated, ES may misclassify risk levels or fail to prioritize alerts correctly. Maintaining updated identity lookups ensures that security analytics reflect the current operational environment.
Demand Score: 70
Exam Relevance Score: 79
How are asset and identity lookup tables typically populated in Splunk ES?
Lookup tables are populated using CSV files, scripted data imports, or automated integrations with asset management systems.
Administrators may manually upload CSV files containing asset and user information or automate updates through integration with external identity management platforms. Automated synchronization helps maintain accurate asset inventories and identity data for security analytics. Accurate lookup data improves alert prioritization and investigation context.
Demand Score: 68
Exam Relevance Score: 81