Skip to main content

CrowdStrike Identity Protection Integration Guide

Overview

The CrowdStrike Identity Protection integration allows your NINA workflows to connect with CrowdStrike Falcon platform for identity security and zero trust assessment. This integration enables automated security operations, threat detection, and incident response directly from your automation platform.

Capabilities

This integration provides access to 3 resources with 11 operations covering:

  • Identity Entities: Operations for Identity Entities
  • Identity Protection: Operations for Identity Protection
  • Zero Trust Assessment: Operations for Zero Trust Assessment

Credential Configuration

Before using the CrowdStrike Identity Protection integration in your workflows, you need to configure credentials for authentication.

Authentication Method

CrowdStrike Falcon uses OAuth2 Client Credentials authentication. This is a server-to-server authentication flow where you provide a Client ID and Client Secret, and the integration automatically handles token acquisition and refresh.

FieldDescriptionRequired
Client IDYour CrowdStrike API Client IDYes
Client SecretYour CrowdStrike API Client SecretYes
Base URLCrowdStrike API endpoint for your cloud regionYes

How It Works

  1. You provide the Client ID and Client Secret when creating a credential
  2. The integration exchanges these for an OAuth2 access token automatically
  3. Tokens are refreshed automatically when they expire
  4. No redirect URLs or user interaction required

CrowdStrike Cloud Regions

Select the Base URL that matches your CrowdStrike Falcon cloud region:

Cloud RegionBase URLDescription
US-1https://api.crowdstrike.comUnited States (default)
US-2https://api.us-2.crowdstrike.comUnited States (secondary)
EU-1https://api.eu-1.crowdstrike.comEuropean Union
US-GOV-1https://api.laggar.gcw.crowdstrike.comUS Government Cloud

How to Obtain API Credentials

  1. Log in to the CrowdStrike Falcon Console
  2. Navigate to Support and resources > API Clients and Keys
  3. Click Add new API client
  4. Configure the API client:
    • Client Name: A descriptive name (e.g., "NINA Integration")
    • Description: Purpose of this API client
    • API Scopes: Select the permissions required for your use case (see Required Scopes below)
  5. Click Add to create the client
  6. Copy and securely store the Client ID and Client Secret immediately

Important: The Client Secret is only displayed once at creation time. If you lose it, you must create a new API client.

Required API Scopes

The API scopes required depend on which operations you plan to use. Common scopes include:

ScopePermissionUse Case
DetectionsRead/WriteView and manage detections
HostsRead/WriteQuery and manage endpoints
IncidentsRead/WriteView and manage incidents
IOCsRead/WriteManage indicators of compromise
Prevention PoliciesRead/WriteManage prevention policies
Real Time ResponseRead/WriteExecute RTR commands
Sensor Update PoliciesRead/WriteManage sensor updates

Refer to the CrowdStrike API documentation for a complete list of available scopes.

Creating a CrowdStrike Credential in NINA

  1. Navigate to the Credentials section in NINA
  2. Click Add New Credential
  3. Fill in the credential details:
    • Integration Service: Select "CrowdStrike Identity Protection"
    • Client ID: Paste your CrowdStrike API Client ID
    • Client Secret: Paste your CrowdStrike API Client Secret
    • Base URL: Select your CrowdStrike cloud region URL
  4. Click Test Connection to verify the credentials work
  5. Click Save to store the credential securely

Note: All CrowdStrike integrations (EDR, Intel, Platform, etc.) share the same credential. You only need to create one credential to use across all CrowdStrike modules.

Supported Resources

ResourceDescriptionOperations
Identity EntitiesOperations for Identity Entities3
Identity ProtectionOperations for Identity Protection5
Zero Trust AssessmentOperations for Zero Trust Assessment3

Resource Details

Identity Entities

Operations for Identity Entities

Operations

OperationNameDescription
get_sensor_aggregatesGet Sensor AggregatesSDK: identity_entities.GetSensorAggregates
get_sensor_detailsGet Sensor DetailsSDK: identity_entities.GetSensorDetails
list_sensors_by_filterList Sensors By FilterSDK: identity_entities.QuerySensorsByFilter

Get Sensor Aggregates

SDK: identity_entities.GetSensorAggregates

Parameters:

NameTypeRequiredDescription
date_rangesobjectYesdate ranges. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
excludestringYesexclude. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
extended_boundsobjectNoextended bounds. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
fieldstringYesfield. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
filterstringYesfilter. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
fromnumberYesfrom. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
includestringYesinclude. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
intervalstringYesinterval. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
max_doc_countnumberNomax doc count. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
min_doc_countnumberNomin doc count. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
missingstringYesmissing. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
namestringYesname. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
qstringYes
rangesobjectYesranges. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sizenumberYessize. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sortstringYessort. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sub_aggregatesobjectYessub aggregates. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
time_zonestringYestime zone. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
typestringYestype. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"date_ranges": {},
"exclude": "<exclude>",
"extended_bounds": {},
"field": "<field>",
"filter": "<filter>",
"from": 10,
"include": "<include>",
"interval": "<interval>",
"max_doc_count": 10,
"min_doc_count": 10,
"missing": "<missing>",
"name": "<name>",
"q": "<q>",
"ranges": {},
"size": 10,
"sort": "<sort>",
"sub_aggregates": {},
"time_zone": "<time_zone>",
"type": "<type>"
}

Get Sensor Details

SDK: identity_entities.GetSensorDetails

Parameters:

NameTypeRequiredDescription
idsarrayYesids. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"ids": ["<ids>"]
}

List Sensors By Filter

SDK: identity_entities.QuerySensorsByFilter

Parameters:

NameTypeRequiredDescription
filterstringNoThe filter expression that should be used to limit the results
limitnumberNoThe maximum records to return. [1-200]
offsetnumberNoThe offset to start retrieving records from
sortstringNoThe property to sort by (e.g. status.desc or hostname.asc)

Example:

{
"filter": "<filter>",
"limit": 10,
"offset": 10,
"sort": "<sort>"
}

Identity Protection

Operations for Identity Protection

Operations

OperationNameDescription
apipreempt_proxy_delete_policy_rulesApipreempt Proxy Delete Policy RulesSDK: identity_protection.APIPreemptProxyDeletePolicyRules
apipreempt_proxy_get_policy_rulesApipreempt Proxy Get Policy RulesSDK: identity_protection.APIPreemptProxyGetPolicyRules
apipreempt_proxy_post_graphqlApipreempt Proxy Post GraphqlSDK: identity_protection.APIPreemptProxyPostGraphql
apipreempt_proxy_post_policy_rulesApipreempt Proxy Post Policy RulesSDK: identity_protection.APIPreemptProxyPostPolicyRules
list_apipreempt_proxy_policy_rulesList Apipreempt Proxy Policy RulesSDK: identity_protection.APIPreemptProxyGetPolicyRulesQuery

Apipreempt Proxy Delete Policy Rules

SDK: identity_protection.APIPreemptProxyDeletePolicyRules

Parameters:

NameTypeRequiredDescription
idsarrayNoRule IDs

Example:

{
"ids": ["<ids>"]
}

Apipreempt Proxy Get Policy Rules

SDK: identity_protection.APIPreemptProxyGetPolicyRules

Parameters:

NameTypeRequiredDescription
idsarrayNoRule IDs

Example:

{
"ids": ["<ids>"]
}

Apipreempt Proxy Post Graphql

SDK: identity_protection.APIPreemptProxyPostGraphql

Parameters:

NameTypeRequiredDescription
querystringYesquery. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"query": "<query>"
}

Apipreempt Proxy Post Policy Rules

SDK: identity_protection.APIPreemptProxyPostPolicyRules

Parameters:

NameTypeRequiredDescription
actionstringYesaction. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
activityobjectNoactivity. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
destinationobjectNodestination. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
enabledbooleanYesenabled. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
namestringYesname. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
simulationModebooleanYessimulation mode
sourceEndpointobjectNosource endpoint
sourceUserobjectNosource user
triggerstringYestrigger. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"action": "<action>",
"activity": {},
"destination": {},
"enabled": true,
"name": "<name>",
"simulationMode": true,
"sourceEndpoint": {},
"sourceUser": {},
"trigger": "<trigger>"
}

List Apipreempt Proxy Policy Rules

SDK: identity_protection.APIPreemptProxyGetPolicyRulesQuery

Parameters:

NameTypeRequiredDescription
enabledbooleanNoWhether the rule is enabled
namestringNoRule name
simulation_modebooleanNoWhether the rule is in simulation mode

Example:

{
"enabled": true,
"name": "<name>",
"simulation_mode": true
}

Zero Trust Assessment

Operations for Zero Trust Assessment

Operations

OperationNameDescription
get_assessment_Get AssessmentSDK: zero_trust_assessment.GetAssessmentV1
get_assessments_by_score_Get Assessments By ScoreSDK: zero_trust_assessment.GetAssessmentsByScoreV1
get_audit_Get AuditSDK: zero_trust_assessment.GetAuditV1

Get Assessment

SDK: zero_trust_assessment.GetAssessmentV1

Parameters:

NameTypeRequiredDescription
idsarrayNoOne or more agent IDs, which you can find in the data.zta file, or the Falcon console.

Example:

{
"ids": ["<ids>"]
}

Get Assessments By Score

SDK: zero_trust_assessment.GetAssessmentsByScoreV1

Parameters:

NameTypeRequiredDescription
afterstringNoA pagination token used with the limit parameter to manage pagination of results. On your first...
filterstringNoFQL query specifying the filter score.
limitnumberNoThe number of scores to return in this response (min: 1, max: 1000, default: 100). Use with the `...
sortstringNoSort accounts by their properties. A single sort field is allowed. Defaults to ascending. Support...

Example:

{
"after": "<after>",
"filter": "<filter>",
"limit": 10,
"sort": "<sort>"
}

Get Audit

SDK: zero_trust_assessment.GetAuditV1

This operation has no parameters.

Example:

{
}

Best Practices

  1. Use Appropriate Filters: Leverage FQL (Falcon Query Language) filters to narrow down results and improve performance.

  2. Implement Pagination: For operations returning large datasets, use limit and offset parameters to paginate results.

  3. Handle Rate Limits: CrowdStrike APIs have rate limits. Implement appropriate delays and retry logic in your workflows.

  4. Secure Credentials: Never log or expose API credentials. Use NINA's credential management for secure storage.

  5. Use Specific Scopes: When creating API clients, only request the minimum required API scopes.

  6. Monitor API Usage: Track your API usage to avoid hitting rate limits during critical operations.

  7. Validate IDs: Always validate resource IDs before using them in update or delete operations.

  8. Error Handling: Implement comprehensive error handling for API failures and unexpected responses.

Troubleshooting

IssuePossible Solution
401 UnauthorizedVerify Client ID and Client Secret are correct; check if credentials have expired
403 ForbiddenEnsure API client has required scopes for the operation
404 Not FoundVerify the resource ID exists and is accessible with your credentials
429 Too Many RequestsRate limit exceeded; implement delays between requests
Invalid FilterCheck FQL syntax; refer to CrowdStrike FQL documentation
Connection TimeoutVerify network connectivity and correct Base URL for your region
Empty ResultsVerify filter criteria; check if resources exist in your environment

Support

For issues with this integration, please contact support with:

  • The operation you were attempting
  • Any error messages received
  • The parameters used (excluding sensitive data)
  • Your CrowdStrike cloud region

For CrowdStrike API documentation, visit: CrowdStrike Developer Portal

Updated: 2026-02-05