Fetch and store Okta user and device data to use in detections and search
Overview
You can configure your Okta log source integration in Panther to pull user profiles and device profiles into Panther-managed Lookup Tables. This means you can use profile and device data in detection logic and search queries.
You can customize user profiles in Okta by following their documentation. You might consider adding custom attributes that would be useful in detection logic, such as the level of permissions expected for that user.
How to set up Okta user and device profiles in Panther
You can configure Okta user and device profiles while you are initially setting up your Okta log source integration in Panther, or later, by editing the source.
During either flow, you'll toggle the Okta profile pulling settings on, then set the cadence at which you'd like profile data to be refreshed.
In order to enable Okta user and/or device profiles in Panther, you must first (or concurrently) onboard Okta as a log source. It is not possible to set up an Okta device or user profiles integration without onboarding Okta as a log source in Panther.
Prerequisite for Okta device profiles
In order to pull Okta device profiles into Panther, you must have Okta Devices enabled.
Configure Okta profiles in Panther during Okta source setup
On the Enrichment page, click the toggle to the right of User Profiles and/or Device ProfilesON.
For each of the toggles you turned ON, set a Refresh period (min). This represents the cadence at which Panther will update profile data with what is stored in Okta.
In the upper-right corner, click Save.
Configure Okta profiles after Okta log source setup from the Log Sources screen
In the left-hand navigation bar of your Panther Console, click Configure > Log Sources.
Locate the Okta log source for which you'd like to set up profiles, and click its name.
In the upper-right corner, click Enrichment.
On the Enrichment page, click the toggle to the right of User Profiles and/or Device ProfilesON.
For each of the toggles you turned ON, set a Refresh period (min). This represents the cadence at which Panther will update profile data with what is stored in Okta.
In the upper-right corner, click Save.
Supported profile types
Panther supports pulling user profiles and device profiles from Okta. Below are the schemas for how the data for each profile type is structured.
Okta.Users
schema:Okta.Usersdescription:Panther managed Okta user profilesreferenceURL:https://developer.okta.com/docs/reference/api/users/#list-usersfields: - name:matchdescription:Keys to match for the lookup tabletype:arrayelement:type:string - name:iddescription:Okta internal id for this usertype:stringindicators: - actor_id - name:createddescription:Create time for user recordtype:timestamptimeFormats: - rfc3339 - name:activateddescription:Activation time for user recordtype:timestamptimeFormats: - rfc3339 - name:statusChangeddescription:Time when user status changedtype:timestamptimeFormats: - rfc3339 - name:lastLogindescription:Time of last authenticationtype:timestamptimeFormats: - rfc3339 - name:lastUpdateddescription:Time of last record updatetype:timestamptimeFormats: - rfc3339 - name:passwordChangeddescription:Time of last password changetype:timestamptimeFormats: - rfc3339 - name:statusdescription:Status of the usertype:string - name:profiledescription:Okta user profiletype:json
Okta.Devices
schema:Okta.Devicesdescription:Panther managed Okta device profilereferenceURL:https://developer.okta.com/docs/reference/api/devices/#list-devicesfields: - name:matchdescription:Keys to match for the lookup tabletype:arrayelement:type:string - name:iddescription:Okta internal id for this devicetype:string - name:createddescription:Create time for device recordtype:timestamptimeFormats: - rfc3339 - name:lastUpdateddescription:Time of last record updatetype:timestamptimeFormats: - rfc3339 - name:statusdescription:Status of the devicetype:string - name:resourceTypedescription:Type of the devicetype:string - name:resourceDisplayNamedescription:Name of the devicetype:objectfields: - name:valuedescription:Name of the devicetype:string - name:sensitivedescription:True if sensitivetype:boolean - name:resourceIddescription:External id of the devicetype:string - name:resourceAlternateIddescription:Alternate external id of the devicetype:string - name:profiledescription:Okta device profiletype:json - name:usersdescription:Associated users of this devicetype:arrayelement:type:objectfields: - name:iddescription:Okta internal id for this usertype:stringindicators: - actor_id - name:emailsdescription:Emails associated with this usertype:arrayelement:type:stringindicators: - email
Example: Using Okta profile data in a detection
Once you have set up an Okta user or device profile, and it has fetched data, you can start referencing that data in detection logic.