Azure Sentinel by Microsoft is a combination Security Orchestration Automated Response (SOAR) and a Security Information Event Management (SIEM) tool. Sentinel not only ingests and stores security data from cloud and on-premises applications, but also provides a way to analyze this security data, process security alerts in a priority manner, and perform advanced threat hunting.
The purpose of this integration is to create a full featured solution that will make SailPoint’s rich, identity-centric contextual information available in the Azure Sentinel product, allowing our joint customers to better collect, detect, investigate, and respond to security threats.
The full set of functionalities consists of:
Attached is a zip file with azure deploy ARM template to deploy/import the Data Connector & Analytic Rules.
This section covers the requirements and process flow for creating a Sentinel ‘Data Connector’ for pulling SailPoint event data via REST API.
Because the SailPoint SaaS platform cannot ‘pipe’ event data to an external system, the integration can’t make use of the Sentinel syslog forwarding option. It will need to make use of Azure Functions to connect to the Identity Security Cloud Search API. It should be noted that the use of Azure Functions may increase customer data ingestion costs.
The Azure Function will call a python script to fetch the events from Identity Security Cloud tenant (https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python). The script will oversee connectivity with SailPoint APIs, collecting the most recent events since the last execution, and then writing them to custom Log Analytics table.
Before configuring data connector in sentinel, you must generate a Personal Access Token (PAT) in your SailPoint ISC environment.
Note: The method for generating PATs has been updated to use the dedicated Vendor Integration menu.
The data connector can be deployed using an ARM template. Following are the steps to achieve this:
2. Click Create to create a custom deployment template.
3. Once you have clicked on the Create button, the Azure portal will navigate you to a custom template deployment. On this page click on Build your own template in the editor. This will allow you to upload the ARM template.
4. Click on Load file to upload the ARM template(Attached is a zip file with azure deploy ARM template).
5. Once you select the azuredeploy_SailPoint_IdentityNow_FunctionApp.json ARM template you will see the following:
6. Click Save and continue.
7. The template now is ready, and you will see the following page:
Confirm the following:
Note: Ensure all the IdentityNow services & resources are in the same Resource group & Region.
Add the following:
Successful deployment of this template will look as follows:
After successfully deploying the template, you can navigate to your Resource group and verify if there is a new resource named as searcheventXXXXXXXXXXXXX of Function App type created. The suffix on the resource name is the resource group id. Along with the Function App you will find 2 more resource created of Application Insights & Storage account type that assists the Function App with logs & storage respectively.
Clicking on this resource you will be able to see the following:
Note: The Memory working set & Function Execution Count may not have any data as this is a newly deployed resource. The above screenshot shows what a successful execution over a period looks like.
The Function app deploys a python script which at set frequency (every 5 minutes by default) queries the IdentityNow tenant to fetch the events. More technical details can be found here.
These events are added to the Custom Logs in the Sentinel workspace under SailPointIDN_Events_CL table. Navigate to Sentinel > Select your workspace > Logs > Custom Logs > SailPointIDN_Events_CL to locate this table
The main purpose of the data connector is to import the events from IdentityNow. After the events are imported you can use analytic rules to classify/create alerts and incidents. As part of this integration, there are 6 out of the box Analytic Rules.
Following are the rules available:
To deploy this to your Azure environment, follow the same deployment steps (1-4) as that of the Data Connector i.e., import the using ARM template.
Click Save and continue.
3. The template now is ready, and you will see the following page:
Confirm the following:
Note: Ensure all the IdentityNow services & resources are in the same Resource group & Region.
Add the following:
Navigate to Analytics section of the workspace to view them. After the rules are imported, you can modify them to execute at defined frequencies for custom intervals.
When these rules are enabled, they will analyze the events that were imported to create Alerts/Incidents (when they matched the queries). These Incidents are essential indicator that something has gone wrong, and an action is required. You can navigate to the Sentinel > select your workspace > Incidents to see all the incidents that were created by these rules.
A detailed view of one of the incidents is as shown below:
Beneath the hood, Azure Sentinel uses the Microsoft Logic Apps product to perform the incident enrichment and response components. To this end, we build a SailPoint Logic Apps Custom Connector.
The connector will provide two basic functions – retrieving contextual Identity data to adorn SailPoint information to a security incident ticket and providing a mechanism to initiate governance actions within IdentityNow to assist in alert remediation.
Retrieving Identity Context
Identity context retrieves information from the SailPoint platform. This information includes identity attributes, accounts, assigned roles, entitlements, etc.
Initiate Governance Response
Governance responses can be utilized when a security incident requires an immediate remediation (removal of access).
In order to deploy Logic App Connector to your Azure environment, click - Deploy to Azure or Deploy to Azure Gov.
Upon clicking the link, a custom deployment template (ARM Wizard) will be created in the Azure portal. This template will look as follows:
Confirm the following:
Note: Ensure all the IdentityNow services & resources are in the same Resource group & Region.
Add the following:
After successfully deploying the template, navigate to your Resource group and verify if there is a new resource created of Logic apps custom connector type. The name of this resource will be the connector name configured during deployment.
Click on this resource > edit page and you will be able to see the following:
Ensure the Host prefix is the tenant-Id that you have provided during deployment.
On the Security page:
Add the following:
Note: You might need to click on the Edit button on the left-hand bottom of the page to make these changes.
Click on Update connector button on the top-right to save these settings. The definition page will give you all the actions supported by this connector along with details required for each action.
Actions that are added as part of the Logic apps connector to you Azure portal can now be utilized in Logic Apps. These can be configured as individual steps added to the Logic Apps to either retrieve identity context (identities, accounts, roles, entitlements, etc.) or initiate governance response (approve/deny access request).
To incorporate these actions into your Logic Apps, add an action and in the Choose an operation window select Custom tab (far right). SailPoint-IdentityNow (the name of the connector) will be visible along with all the actions supported by this connector.
Select the action that you want to perform, and it will prompt for a connection creation (first time only) to your Identity tenant (this will look like a Sign in request shown below):
Click on the Sign in button to create an API connection. All the necessary connectivity details including credentials (like the Client Id & Client Secret) are already configured (on the edit page of the connector). This will automatically create the connection and the action is ready to use.
Newly created API connection can be viewed in the same resource group as that of the custom connector.
Kindly contact [email protected] for any implementation related or technical questions.