|
| 1 | +--- |
| 2 | +title: "Atlassian Jira Audit (using Azure Function) connector for Microsoft Sentinel" |
| 3 | +description: "Learn how to install the connector Atlassian Jira Audit (using Azure Function) to connect your data source to Microsoft Sentinel." |
| 4 | +author: cwatson-cat |
| 5 | +ms.topic: how-to |
| 6 | +ms.date: 04/18/2023 |
| 7 | +ms.service: microsoft-sentinel |
| 8 | +ms.author: cwatson |
| 9 | +--- |
| 10 | + |
| 11 | +# Atlassian Jira Audit (using Azure Function) connector for Microsoft Sentinel |
| 12 | + |
| 13 | +The [Atlassian Jira](https://www.atlassian.com/software/jira) Audit data connector provides the capability to ingest [Jira Audit Records](https://support.atlassian.com/jira-cloud-administration/docs/audit-activities-in-jira-applications/) events into Microsoft Sentinel through the REST API. Refer to [API documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-audit-records/) for more information. The connector provides ability to get events which helps to examine potential security risks, analyze your team's use of collaboration, diagnose configuration problems and more. |
| 14 | + |
| 15 | +## Connector attributes |
| 16 | + |
| 17 | +| Connector attribute | Description | |
| 18 | +| --- | --- | |
| 19 | +| **Application settings** | JiraUsername<br/>JiraAccessToken<br/>JiraHomeSiteName<br/>WorkspaceID<br/>WorkspaceKey<br/>logAnalyticsUri (optional) | |
| 20 | +| **Azure function app code** | https://aka.ms/sentinel-jiraauditapi-functionapp | |
| 21 | +| **Kusto function alias** | JiraAudit | |
| 22 | +| **Kusto function url** | https://aka.ms/sentinel-jiraauditapi-parser | |
| 23 | +| **Log Analytics table(s)** | Jira_Audit_CL<br/> | |
| 24 | +| **Data collection rules support** | Not currently supported | |
| 25 | +| **Supported by** | [Microsoft Corporation](https://support.microsoft.com) | |
| 26 | + |
| 27 | +## Query samples |
| 28 | + |
| 29 | +**Jira Audit Events - All Activities** |
| 30 | + ```kusto |
| 31 | +JiraAudit |
| 32 | + |
| 33 | + | sort by TimeGenerated desc |
| 34 | + ``` |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | +## Prerequisites |
| 39 | + |
| 40 | +To integrate with Atlassian Jira Audit (using Azure Function) make sure you have: |
| 41 | + |
| 42 | +- **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](https://learn.microsoft.com/azure/azure-functions/). |
| 43 | +- **REST API Credentials/permissions**: **JiraAccessToken**, **JiraUsername** is required for REST API. [See the documentation to learn more about API](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-audit-records/). Check all [requirements and follow the instructions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#authentication) for obtaining credentials. |
| 44 | + |
| 45 | + |
| 46 | +## Vendor installation instructions |
| 47 | + |
| 48 | + |
| 49 | +> [!NOTE] |
| 50 | + > This connector uses Azure Functions to connect to the Jira REST API to pull its logs into Microsoft Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details. |
| 51 | +
|
| 52 | + |
| 53 | +>**(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](https://learn.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App. |
| 54 | +
|
| 55 | + |
| 56 | +> [!NOTE] |
| 57 | + > This data connector depends on a parser based on a Kusto Function to work as expected. [Follow these steps](https://aka.ms/sentinel-jiraauditapi-parser) to create the Kusto functions alias, **JiraAudit** |
| 58 | +
|
| 59 | + |
| 60 | +**STEP 1 - Configuration steps for the Jira API** |
| 61 | + |
| 62 | + [Follow the instructions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#authentication) to obtain the credentials. |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function** |
| 67 | + |
| 68 | +>**IMPORTANT:** Before deploying the Workspace data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following). |
| 69 | +
|
| 70 | + |
| 71 | + |
| 72 | +Option 1 - Azure Resource Manager (ARM) Template |
| 73 | + |
| 74 | +Use this method for automated deployment of the Jira Audit data connector using an ARM Tempate. |
| 75 | + |
| 76 | +1. Click the **Deploy to Azure** button below. |
| 77 | + |
| 78 | + [](https://aka.ms/sentineljiraauditazuredeploy) |
| 79 | +2. Select the preferred **Subscription**, **Resource Group** and **Location**. |
| 80 | +> **NOTE:** Within the same resource group, you can't mix Windows and Linux apps in the same region. Select existing resource group without Windows apps in it or create new resource group. |
| 81 | +3. Enter the **JiraAccessToken**, **JiraUsername**, **JiraHomeSiteName** (short site name part, as example HOMESITENAME from https://HOMESITENAME.atlassian.net) and deploy. |
| 82 | +4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. |
| 83 | +5. Click **Purchase** to deploy. |
| 84 | + |
| 85 | +Option 2 - Manual Deployment of Azure Functions |
| 86 | + |
| 87 | +Use the following step-by-step instructions to deploy the Jira Audit data connector manually with Azure Functions (Deployment via Visual Studio Code). |
| 88 | + |
| 89 | + |
| 90 | +**1. Deploy a Function App** |
| 91 | + |
| 92 | +> **NOTE:** You will need to [prepare VS code](https://learn.microsoft.com/azure/azure-functions/functions-create-first-function-python#prerequisites) for Azure function development. |
| 93 | +
|
| 94 | +1. Download the [Azure Function App](https://aka.ms/sentinel-jiraauditapi-functionapp) file. Extract archive to your local development computer. |
| 95 | +2. Start VS Code. Choose File in the main menu and select Open Folder. |
| 96 | +3. Select the top level folder from extracted files. |
| 97 | +4. Choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose the **Deploy to function app** button. |
| 98 | +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** |
| 99 | +If you're already signed in, go to the next step. |
| 100 | +5. Provide the following information at the prompts: |
| 101 | + |
| 102 | + a. **Select folder:** Choose a folder from your workspace or browse to one that contains your function app. |
| 103 | + |
| 104 | + b. **Select Subscription:** Choose the subscription to use. |
| 105 | + |
| 106 | + c. Select **Create new Function App in Azure** (Don't choose the Advanced option) |
| 107 | + |
| 108 | + 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. JiraAuditXXXXX). |
| 109 | + |
| 110 | + e. **Select a runtime:** Choose Python 3.8. |
| 111 | + |
| 112 | + f. Select a location for new resources. For better performance and lower costs choose the same [region](https://azure.microsoft.com/regions/) where Microsoft Sentinel is located. |
| 113 | + |
| 114 | +6. Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied. |
| 115 | +7. Go to Azure Portal for the Function App configuration. |
| 116 | + |
| 117 | + |
| 118 | +**2. Configure the Function App** |
| 119 | + |
| 120 | +1. In the Function App, select the Function App Name and select **Configuration**. |
| 121 | +2. In the **Application settings** tab, select ** New application setting**. |
| 122 | +3. Add each of the following application settings individually, with their respective string values (case-sensitive): |
| 123 | + JiraUsername |
| 124 | + JiraAccessToken |
| 125 | + JiraHomeSiteName |
| 126 | + WorkspaceID |
| 127 | + WorkspaceKey |
| 128 | + logAnalyticsUri (optional) |
| 129 | +> - 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`. |
| 130 | +3. Once all application settings have been entered, click **Save**. |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | +## Next steps |
| 135 | + |
| 136 | +For more information, go to the [related solution](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/azuresentinel.azure-sentinel-solution-atlassianjiraaudit?tab=Overview) in the Azure Marketplace. |
0 commit comments