Dataminr Pulse Alerts Data Connector (using Azure Functions) connector for Microsoft Sentinel

Dataminr Pulse Alerts Data Connector brings our AI-powered real-time intelligence into Microsoft Sentinel for faster threat detection and response.

Connector attributes

Connector attribute Description
Azure function app code https://aka.ms/sentinel-DataminrPulseAlerts-functionapp
Log Analytics table(s) DataminrPulse_Alerts_CL
Data collection rules support Not currently supported
Supported by Dataminr Support

Query samples

Dataminr Pulse Alerts Data for all alertTypes

DataminrPulse_Alerts_CL

| sort by TimeGenerated desc

Prerequisites

To integrate with Dataminr Pulse Alerts Data Connector (using Azure Functions) make sure you have:

  • Azure Subscription: Azure Subscription with owner role is required to register an application in Microsoft Entra ID and assign role of contributor to app in resource group.
  • Microsoft.Web/sites permissions: Read and write permissions to Azure Functions to create a Function App is required. See the documentation to learn more about Azure Functions.
  • Required Dataminr Credentials/permissions:

a. Users must have a valid Dataminr Pulse API client ID and secret to use this data connector.

b. One or more Dataminr Pulse Watchlists must be configured in the Dataminr Pulse website.

Vendor installation instructions

Note

This connector uses Azure Functions to connect to the DataminrPulse in which logs are pushed via Dataminr RTAP and it will ingest logs into Microsoft Sentinel. Furthermore, the connector will fetch the ingested data from the custom logs table and create Threat Intelligence Indicators into Microsoft Sentinel Threat Intelligence. This might result in additional data ingestion costs. Check the Azure Functions pricing page for details.

(Optional Step) Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. Follow these instructions to use Azure Key Vault with an Azure Function App.

STEP 1- Credentials for the Dataminr Pulse Client ID and Client Secret

  • Obtain Dataminr Pulse user ID/password and API client ID/secret from your Dataminr Customer Success Manager (CSM).

STEP 2- Configure Watchlists in Dataminr Pulse portal.

Follow the steps in this section to configure watchlists in portal:

  1. Login to the Dataminr Pulse website.

  2. Click on the settings gear icon, and select Manage Lists.

  3. Select the type of Watchlist you want to create (Cyber, Topic, Company, etc.) and click the New List button.

  4. Provide a name for your new Watchlist, and select a highlight color for it, or keep the default color.

  5. When you are done configuring the Watchlist, click Save to save it.

STEP 3 - App Registration steps for the Application in Microsoft Entra ID

This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new application in Microsoft Entra ID:

  1. Sign in to the Azure portal.
  2. Search for and select Microsoft Entra ID.
  3. Under Manage, select App registrations > New registration.
  4. Enter a display Name for your application.
  5. Select Register to complete the initial app registration.
  6. When registration finishes, the Azure portal displays the app registration's Overview pane. You see the Application (client) ID and Tenant ID. The client ID and Tenant ID is required as configuration parameters for the execution of DataminrPulse Data Connector.

Reference link: https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app

STEP 4 - Add a client secret for application in Microsoft Entra ID

Sometimes called an application password, a client secret is a string value required for the execution of DataminrPulse Data Connector. Follow the steps in this section to create a new Client Secret:

  1. In the Azure portal, in App registrations, select your application.
  2. Select Certificates & secrets > Client secrets > New client secret.
  3. Add a description for your client secret.
  4. Select an expiration for the secret or specify a custom lifetime. Limit is 24 months.
  5. Select Add.
  6. Record the secret's value for use in your client application code. This secret value is never displayed again after you leave this page. The secret value is required as configuration parameter for the execution of DataminrPulse Data Connector.

Reference link: https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret

STEP 5 - Assign role of Contributor to application in Microsoft Entra ID

Follow the steps in this section to assign the role:

  1. In the Azure portal, Go to Resource Group and select your resource group.
  2. Go to Access control (IAM) from left panel.
  3. Click on Add, and then select Add role assignment.
  4. Select Contributor as role and click on next.
  5. In Assign access to, select User, group, or service principal.
  6. Click on add members and type your app name that you have created and select it.
  7. Now click on Review + assign and then again click on Review + assign.

Reference link: https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal

STEP 6 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function

IMPORTANT: Before deploying the Dataminr Pulse Microsoft Sentinel data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following) readily available.

Option 1 - Azure Resource Manager (ARM) Template

Use this method for automated deployment of the DataminrPulse connector.

  1. Click the Deploy to Azure button below.

    Deploy To Azure

  2. Select the preferred Subscription, Resource Group and Location.

  3. Enter the below information :

    • Function Name
    • Workspace ID
    • Workspace Key
    • AlertsTableName
    • BaseURL
    • ClientId
    • ClientSecret
    • AzureClientId
    • AzureClientSecret
    • AzureTenantId
    • AzureResourceGroupName
    • AzureWorkspaceName
    • AzureSubscriptionId
    • Schedule
    • LogLevel
  4. Mark the checkbox labeled I agree to the terms and conditions stated above.

  5. Click Purchase to deploy.

Option 2 - Manual Deployment of Azure Functions

Use the following step-by-step instructions to deploy the Dataminr Pulse Microsoft Sentinel data connector manually with Azure Functions (Deployment via Visual Studio Code).

  1. Deploy a Function App

    Note

    You will need to prepare VS code for Azure function development.

  1. Download the Azure Function App file. Extract archive to your local development computer.

  2. Start VS Code. Choose File in the main menu and select Open Folder.

  3. Select the top level folder from extracted files.

  4. Choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose the Deploy to function app button. If you aren't already signed in, choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose Sign in to Azure If you're already signed in, go to the next step.

  5. Provide the following information at the prompts:

    a. Select folder: Choose a folder from your workspace or browse to one that contains your function app.

    b. Select Subscription: Choose the subscription to use.

    c. Select Create new Function App in Azure (Don't choose the Advanced option)

    d. Enter a globally unique name for the function app: Type a name that is valid in a URL path. The name you type is validated to make sure that it's unique in Azure Functions. (e.g. DmPulseXXXXX).

    e. Select a runtime: Choose Python 3.8 or above.

    f. Select a location for new resources. For better performance and lower costs choose the same region where Microsoft Sentinel is located.

  6. Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.

  7. Go to Azure Portal for the Function App configuration.

Configure the Function App

  1. In the Function App, select the Function App Name and select Configuration.

  2. In the Application settings tab, select + New application setting.

  3. Add each of the following application settings individually, with their respective values (case-sensitive):

    • Function Name
    • Workspace ID
    • Workspace Key
    • AlertsTableName
    • BaseURL
    • ClientId
    • ClientSecret
    • AzureClientId
    • AzureClientSecret
    • AzureTenantId
    • AzureResourceGroupName
    • AzureWorkspaceName
    • AzureSubscriptionId
    • Schedule
    • LogLevel
    • logAnalyticsUri (optional)
  4. Use logAnalyticsUri to override the log analytics API endpoint for dedicated cloud. For example, for public cloud, leave the value empty; for Azure GovUS cloud environment, specify the value in the following format: https://<CustomerId>.ods.opinsights.azure.us.

  5. Once all application settings have been entered, click Save.

STEP 4 - Post Deployment steps

Get the Function app endpoint

  1. Go to Azure function Overview page and Click on "Functions" in the left blade.
  2. Click on the function called "DataminrPulseAlertsHttpStarter".
  3. Go to "GetFunctionurl" and copy the function url.
  4. Replace {functionname} with "DataminrPulseAlertsSentinelOrchestrator" in copied function url.

To add integration settings in Dataminr RTAP using the function URL

  1. Within Microsoft Sentinel, go to Azure function apps then <your_function_app> Overview page and Click on "Functions" in the left blade.

  2. Click on the function called "DataminrPulseAlertsHttpStarter".

  3. Go to "Code + Test" and click "Test/Run".

  4. Provide the necessary details as mentioned below:

    HTTP Method : "POST" 
     Key : default(Function key)" 
     Query : Name=functionName ,Value=DataminrPulseAlertsSentinelOrchestrator 
     Request Body (case-sensitive) : 
     { 
      'integration-settings': 'ADD', 
      'url': <URL part from copied Function-url>, 
      'token': <value of code parameter from copied Function-url> 
     }
    
  5. After providing all required details, click Run.

  6. You will receive an integration setting ID in the HTTP response with a status code of 200.

  7. Save Integration ID for future reference.

Now we are done with the adding integration settings for Dataminr RTAP. Once the Dataminr RTAP send an alert data, Function app is triggered and you should be able to see the Alerts data from the Dataminr Pulse into LogAnalytics workspace table called "DataminrPulse_Alerts_CL".

Next steps

For more information, go to the related solution in the Azure Marketplace.