Basic Search & Advanced Query Mode

09/2024

Overview

Identity Intelligence enables users to create simple but powerful searches with basic filters and also advanced queries that answer critical questions about your identity population. When in Advanced Query mode, you will be able to use Kibana Query Language to form more complex queries to find specific information that you may need that is not available in our Basic filters.

Basic Search Mode

The default search mode within the UI allows for point-and-click combination of filters on the lefthand menu bar of the Users page.

The same type of click-to-filter functionality is available in the Activity tab of the User 360page.

Important Notes

  1. By default, accounts that are disabled, deleted, or deprovisioned are filtered OUT of the Users page results. Clear this filter to see those accounts in your search results.

  2. In Basic mode, searching with a leading wildcard, such as *<some term>, is not supported.

Entering Advanced Mode & Adding Filters

  1. From the Users tab, click the Advanced button on the right side within the search bar

    1. Alternatively, if you select a Basic filter from the left hand side of the Users table, it will add a chip for the selected filter in Basic mode to the Search bar. Click on that chip in the search bar to convert that filter to an Advanced attribute, which enables you to edit that attribute

  2. Additional filters can be added and edited to the existing search string

  3. At any point, you can convert back to the Basic filter mode by clicking the Advanced button and confirming that you'd like to switch back to Basic mode. Please note that converting back will remove anything written into the search string

Available Attributes & Auto-complete

The user records in Identity Intelligence contain a large number of attributes or fields that can be queried in Advanced search mode. The Attribute List is constantly being updated as new functionality and integrations are added.

The best way to find a particular attribute is to click the Advanced button, which will open the list of available attributes that can be used to create queries. Start typing your desired attribute into the search bar to trigger the auto-complete functionality, which allows you to see what attributes exist that include your keywords, or scroll through the alphabetized list of attributes to see everything that exists! There are also hints frozen to the "bottom" of the attribute list that can help guide you when crafting more complex queries.

Operators

The Advanced search follows the convention operators of KQL (reference article), including -

  • AND

  • OR

  • NOT

  • _exists_

  • !_exists_

Examples

This section provides several examples for building queries within the Advanced search bar.

Example 1 - Complex query with AND

To find users with the following set of parameters -

  • users in the GSuite

  • Admins group

  • no MFA enabled

  • recently logged in

  • subject of an IP threat from a VPN or Tor proxy

The query would look like:

groupNames.keyword:"sg-gsuite-admins" AND mfaEnabled:false AND lastActive:{now-7d TO now-1d} AND ipAddressDetails.ipTags.name:(VPN OR TOR_Proxy)

Example 2 - IP Activity from a Specific Country

To find users with recent IP activity from a particular Country, such as China, the advanced query would look like:

ipAddressDetails.location.country.keyword:"CN"

Example 3 - Accounts with no Employee ID attribute

To list user accounts without an Employee ID attribute value, it would look like:

!_exists_:employeeId.keyword

Example 4 - Inactive users with specific naming convention

To find inactive users who's accounts start with "sa." and contain the word "company", the query would look like:

sa.*company* AND checkResults.checkId.keyword:inactive-users

Note: free text search will look in all indexed fields within the user profile, for example email address, UPN, etc.

Example 5 - Find admin accounts for a specific IDP

Identity Intelligence attempts to determine admin privileges or roles granted to accounts. To search for the admin accounts associated with only one specific IDP, the query would look like one of the following, depending on the IDP desired:

integrationInstanceDetails.providerAdmin.keyword:"OKTA__true"

integrationInstanceDetails.providerAdmin.keyword:"AZURE_AD__true"

integrationInstanceDetails.providerAdmin.keyword:"G_SUITE__true"

Example 6 - Query for Microsoft License Types

Identity Intelligence is able to collect assigned Microsoft license types through the Azure Graph API. This information is displayed in the Azure tile of the Overview tab for a user account.

To query for a specific license type, the search string would look like:

adActiveLicenses.keyword:("Azure Active Directory Premium P2")

Note: the License name value is a translation from the license UID provided through the Graph API.

Example 7 - MFA Factors

A common query is to search for the users who have a particular type of MFA factor enrolled, such as push notification, hardware security keys, etc.

Use the userFactors.factorType.keywordattribute to search for different enrolled factor types, as shown:

userFactors.factorType.keyword:"push"

The available factor types and names will vary based on which IAM platforms are connected to Identity Intelligence. Some common factor names include:

webauthn 
google_otp
push
okta_verify
okta_password
password
signed_nonce	
okta_email
Security_key

A comprehensive list of factor types seen so far is below in the Factor List section.

Example 8 - Application Assignment and Usage

It is frequently useful to look for both which users have an application assigned and which users are actually using the application.

For example, to look for users who have application Salesforce SAML assigned, but not in use in their last 30 days of activity, the query would look like:

assignedAppNames.keyword:"Salesforce SAML" AND (NOT appNames.keyword:"Salesforce SAML")

Note: Sensitive applications can be seen in the Dashboard tab and all applications that are integrated via an IDP or directly can be seen in a User's Applications tab. Sensitive Applications can be configured through Tenant Settings

Example 9 - Device Usage

If looking for users with sign-in activity from a particular user-agent string or device type, for instance iPhones, the search string might look like:

lastSignIn.rawUserAgent.keyword:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Mobile/15E148 Safari/604.1"

Example 10 - Find a user by Duo Security alias

To find a user account by an alias in Duo Security, use this format:

integrationInstanceDetails.userKey.keyword:/.*kheuck*./

Factor List

Across the different IDPs, factors may have a variety of different names, which may change or grow over time. The list below provides examples of factor names that Identity Intelligence has seen so far.

okta_verify
okta_email
Passkey
Platform_authenticator_(passwordless)
webauthn
web
microsoftAuthenticatorPasswordless
Security_Key
Other
token:hotp
duo_mobile_passcode
windowsHelloForBusiness
yk
d1
Security_key
password
microsoftAuthenticator
duo
softwareOath
token:software:totp
webauthn-roaming
yubikey_token
okta_password
totp
sms
Touch_ID
token
phone
fido2
signed_nonce
phone_number
bypass_code
push
duo_push
google_otp
question
claims_provider
WebAuthn_Chrome_Touch_ID
u2ftoken
QR code
sms_passcode
email
phone_call
security_question
webauthn-platform
call
token:hardware
otp
custom_otp
509 Certificate

Last updated