Browse: 🏠 · Solutions · Connectors · Methods · Tables · Content · Parsers · ASIM Parsers · ASIM Products · 📊
| Attribute | Value |
|---|---|
| Connector ID | LookoutCloudSecurityDataConnector |
| Publisher | Lookout |
| Used in Solutions | Lookout Cloud Security Platform for Microsoft Sentinel |
| Collection Method | Azure Function |
| Connector Definition Files | LookoutCloudSecurityConnector_API_FunctionApp.json |
| Ingestion API | HTTP Data Collector API — Azure Function code uses SharedKey/HTTP Data Collector API |
| Custom Log V1 Tables | Yes 🔶 — ingests into tables with type-suffixed columns |
This connector uses a Agari REST API connection to push data into Microsoft Sentinel Log Analytics.
This connector ingests data into the following tables:
| Table | Transformations | Ingestion API | Lake-Only |
|---|---|---|---|
LookoutCloudSecurity_CL 🔶 |
? | ✓ | ? |
💡 Tip: Tables with Ingestion API support allow data ingestion via the Azure Monitor Data Collector API, which also enables custom transformations during ingestion.
Resource Provider Permissions: - Workspace (Workspace): read and write permissions on the workspace are required. - Keys (Workspace): read permissions to shared keys for the workspace are required. See the documentation to learn more about workspace keys.
Custom Permissions: - 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.
⚠️ Note: These instructions were automatically generated from the connector's user interface definition file using AI and may not be fully accurate. Please verify all configuration steps in the Microsoft Sentinel portal.
NOTE: This connector uses Azure Functions to connect to the Agari REST API to pull logs into Microsoft Sentinel. 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-by-Step Instructions
As a prerequisite to this integration, first, you need to configure an API client on Lookout's Management Console. From the Management Console, you can add one or more clients and configure the appropriate permissions and actions for each.
Name - The name given to this client.
Client ID - the unique ID that was provided for this client.
Permissions - The permissions enabled for this client. The permissions you check are those that the client will be allowed to access. The listed options are Activity, Violation, Anomaly, Insights, and Profile
Service URL - The URL used to access this client.It must start with https://
Authorized IPs - The valid IP address or addresses that apply to this client.
Actions - The actions you can take for this client. Click the icon for the action you want to perform. Editing client information, displaying the client secret, or deleting the client.
To add a new API client:
1. Go to Administration > Enterprise Integration > API Clients and click New.
2. Enter a Name (required) and a Description (optional).
3. Enter the Client ID that was provided to you.
4. Select one or more Permissions from the dropdown list.
5. Enter one or more Authorized IP addresses for this client. Separate each address with a comma.
6. Click Save.
When prompted, copy the string for the client's secret. You will need this information (along with the client ID) to authenticate to the API gateway.
STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function
IMPORTANT: Before deploying the data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as Azure Blob Storage connection string and container name, readily available. - Workspace ID:
WorkspaceIdNote: The value above is dynamically provided when these instructions are presented within Microsoft Sentinel. - Primary Key:PrimaryKeyNote: The value above is dynamically provided when these instructions are presented within Microsoft Sentinel.
3. Option 1 - Azure Resource Manager (ARM) Template
Use this method for automated deployment of the data connector using an ARM Tempate.
Click the Deploy to Azure button below.
2. Select the preferred Subscription, Resource Group and Location.
3. Enter the Lookout Client ID, Lookout Client Secret, Lookout Base url, Microsoft Sentinel Workspace Id, Microsoft Sentinel Shared Key
4. Mark the checkbox labeled I agree to the terms and conditions stated above.
5. Click Purchase to deploy.
4. Option 2 - Manual Deployment of Azure Functions
Use the following step-by-step instructions to deploy the 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.
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. Select a runtime: Choose Python 3.11.
f. Select a location for new resources. For better performance and lower costs choose the same region where Microsoft Sentinel is located.
Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.
2. Configure the Function App
https://WORKSPACE_ID.ods.opinsights.azure.us. 📄 Source: Lookout Cloud Security Platform for Microsoft Sentinel\Data Connectors\LookoutCSConnector\README.md
Author: Prathibha Tadikamalla
The Azure function based LookOut Cloud Security dataconnector pulls all the LookOut cloud security events into Sentinel. This function app contains three different functions to fetch activity events, Violation events and Anamoly events respectivley. Every time the internal function runs, it identifies the last event received date and time and stored into a file share. This value will be used as a start time for every next run. And this function also provides a provision to delay the records through a "FetchDelay" config value to prevent any data loss scenarios. And it also provides a provision to fetch the historical data for the first time function runs through a config value "PastDays". All these events will be placed into the table called "LookoutCloudSecurity_CL". As of now the solution has 3 parsers based on the below events: * Lookout Cloud Security Activities * Lookout Cloud Security Anomalies * Lookout Cloud Security Violations
Following are the configuration steps to deploy Function App.
Select the preferred Subscription, Resource Group and Location
Note
Best practice : Create new Resource Group while deploying - all the resources of your custom Data connector will reside in the newly created Resource
Group
Enter the following value in the ARM template deployment
"FunctionName": The name of the Azure function. Default value will be given as "fnLoCSCon"
"Workspace Id": The Sentinel Log Analytics Workspace Id
"Primary Key": The Sentinel Log Analytics Workspace Primary Key
"LookoutClientId": The unique ID that was provided for this client
"LookoutApiSecret": The API secret that was provided for this client
"Baseurl": The URL used to access this client. The url must start with "https://"
"Schedule": A cron expression which is a string that defines a set of times, using six fields separated by white space. Each field in the cron expression represents a set of values that determine when a task should be executed. For example, the following cron expression would run a task every 5 minutes: Ex: "0 */5 * * * *"
"MaxResults": Maximum Results to be returned from API as per source capacity
"FetchDelay": This integer value represents the number of minutes to be delayed while fetching of the results to prevent data loss due to delays at source.
"PastDays": The integer value represents the number of days to get historical data during the start of the function app via config
Browse: 🏠 · Solutions · Connectors · Methods · Tables · Content · Parsers · ASIM Parsers · ASIM Products · 📊