You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/sentinel/ci-cd-custom-content.md
+16-19Lines changed: 16 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
2
title: Manage custom content with repository connections
3
3
titleSuffix: Microsoft Sentinel
4
-
description: This article explains custom Sentinel content like GitHub or Azure DevOps repositories that can utilize source control features.
4
+
description: This article explains custom Microsoft Sentinel content like GitHub or Azure DevOps repositories that can utilize source control features.
5
5
author: mberdugo
6
6
ms.author: monaberdugo
7
7
ms.service: microsoft-sentinel
8
8
ms.topic: article
9
-
ms.date: 12/31/2024
9
+
ms.date: 3/30/2026
10
10
ms.custom:
11
11
- template-concept
12
12
- build-2025
@@ -29,21 +29,21 @@ For more information on Sentinel content, see [About Microsoft Sentinel content
29
29
30
30
You can deploy these Microsoft Sentinel custom content types from an external source control repository you connect to Microsoft Sentinel:
31
31
32
-
- Analytics rules
32
+
- Analytics rules
33
33
- Automation rules
34
34
- Hunting queries
35
35
- Parsers
36
36
- Playbooks
37
37
- Workbooks
38
38
39
-
Updates you make to the content in your Microsoft Sentinel repositories are synchronized to your Microsoft Sentinel workspace and overwrite any changes you make to that content through the Microsoft Sentinel portal. Your Microsoft Sentinel repositories become your “single source of truth” for custom content in the connected workspaces.
39
+
Updates you make to the content in your Microsoft Sentinel repositories are synchronized to your Microsoft Sentinel workspace and overwrite any changes you make to that content through the Microsoft Sentinel portal. Your Microsoft Sentinel repositories become your *single source of truth* for custom content in the connected workspaces.
40
40
41
41
## Plan your repository connection
42
42
43
-
Microsoft Sentinel repositories require careful planning to ensure you have the proper permissions from your workspace to the repository (repo) you want connected.
43
+
Microsoft Sentinel repositories require careful planning to ensure you have the proper permissions from your workspace to the repository (repo) you want connected.
44
44
45
45
- Only connections to GitHub and Azure DevOps repositories are supported.
46
-
- Collaborator access to your GitHub repository or Project Administrator access to your Azure DevOps repository is required.
46
+
- Collaborator access to your GitHub repository or Project Administrator access to your Azure DevOps repository is required.
47
47
- The Microsoft Sentinel application needs authorization to your repo.
48
48
- Actions must be enabled for GitHub.
49
49
- Pipelines must be enabled for Azure DevOps.
@@ -56,19 +56,19 @@ If you find content in a public repository where you aren't a contributor, first
56
56
### Maximum connections and deployments
57
57
58
58
- Each Microsoft Sentinel workspace is currently limited to **five repository connections**.
59
-
- Each Azure resource group is limited to **800 deployments** in its deployment history. If you have a high volume of template deployments one or more of your resource groups, you may see the `Deployment QuotaExceeded` error. For more information, see [DeploymentQuotaExceeded](/azure/azure-resource-manager/templates/deployment-quota-exceeded) in the Azure Resource Manager templates documentation.
59
+
- Each Azure resource group is limited to **800 deployments** in its deployment history. If you have a high volume of template deployments in one or more of your resource groups, you might see the `Deployment QuotaExceeded` error. For more information, see [DeploymentQuotaExceeded](/azure/azure-resource-manager/templates/deployment-quota-exceeded) in the Azure Resource Manager templates documentation.
60
60
61
61
## Plan your repository content
62
62
63
-
Microsoft Sentinel repositories support deployment of content you store as [Bicep files](../azure-resource-manager/bicep/overview.md) or [Azure Resource Manager (ARM) templates](../azure-resource-manager/templates/overview.md). We recommend using Bicep, which is more intuitive and makes it easier to describe Azure resources and Microsoft Sentinel content.
63
+
Microsoft Sentinel repositories support deployment of content you store as [Bicep files](../azure-resource-manager/bicep/overview.md) or [Azure Resource Manager (ARM) templates](../azure-resource-manager/templates/overview.md). We recommend using Bicep, which is more intuitive and makes it easier to describe Azure resources and Microsoft Sentinel content.
64
64
65
65
The template for each content type has a specific structure and parameter name, as documented in the [Sentinel resources template reference](/azure/templates/microsoft.securityinsights/allversions). For samples of each content type, see [RepositoriesSampleContent repository](https://github.com/SentinelCICD/RepositoriesSampleContent).
66
66
67
-
We've provided a sample repository with templates for each of the content types listed. The repo also demonstrates how to use advanced features of repository connections. For more information, see [Microsoft Sentinel CI/CD repositories sample](https://github.com/SentinelCICD/RepositoriesSampleContent).
67
+
We provided a sample repository with templates for each of the content types listed. The repo also demonstrates how to use advanced features of repository connections. For more information, see [Microsoft Sentinel CI/CD repositories sample](https://github.com/SentinelCICD/RepositoriesSampleContent).
68
68
69
69
:::image type="content" source="media/ci-cd-custom-content/repositories-connection-success.png" alt-text="Screenshot of a successful repository connection. The RepositoriesSampleContent is shown. This screenshot is after the sample was imported from the SentinelCICD repo to a private GitHub repo in the FourthCoffee organization." lightbox="media/ci-cd-custom-content/repositories-connection-success.png":::
70
70
71
-
Although you can build templates from scratch, it's often easier to start from either the Sentinel Public GitHub repository YAML files or from out-of-the-box Microsoft Sentinel content. This table outlines how to convert an ARM template for use with Microsoft Sentinel Repositories.
71
+
Although you can build templates from scratch, it's often easier to start from either the Sentinel Public GitHub repository YAML files or from out-of-the-box Microsoft Sentinel content. This table outlines how to convert an ARM template for use with Microsoft Sentinel Repositories.
72
72
73
73
| Content Type | Convert from Sentinel Public YAML | Export from Sentinel | Template Reference | Sample Templates |
|**Workbooks**| N/A |[Exporting workbooks as ARM templates](/azure/azure-monitor/visualize/workbooks-automate#arm-template-for-deploying-a-workbook-template)|[Reference](/azure/azure-monitor/visualize/workbooks-automate#arm-template-for-deploying-a-workbook-template)| N/A |
81
81
82
-
83
82
> [!IMPORTANT]
84
83
> Bicep considerations:
84
+
>
85
85
> - To use Bicep files, your repositories connection needs to be updated if your connection was created before November 1, 2024. Repositories connections must be [removed](ci-cd.md#remove-a-repository-connection) and recreated in order to update.
86
86
> - Bicep files don't support the `id` property. When decompiling ARM JSON to Bicep, make sure you don't have this property. For example, analytic rule templates exported from Microsoft Sentinel have the `id` property that needs removal.
87
87
> - Change the ARM JSON schema to version `2019-04-01` for best results when decompiling.
@@ -90,19 +90,16 @@ Although you can build templates from scratch, it's often easier to start from e
90
90
> [!IMPORTANT]
91
91
> Analytic rules deployed using the Microsoft Sentinel **Repositories** feature can use cross-workspace queries only if the destination workspace is in the same Resource Group as the workspace connected to the repository.
92
92
93
-
94
93
For information on creating custom content from scratch, see the relevant [Microsoft Sentinel GitHub wiki](https://github.com/Azure/Azure-Sentinel/wiki#get-started) for each content type.
95
94
96
-
97
95
## Improve performance with smart deployments
98
96
99
97
> [!TIP]
100
-
> To ensure smart deployments works in GitHub, Workflows must have read and write permissions on your repository. See [Managing GitHub Actions settings for a repository](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository) for more details.
101
-
>
98
+
> To ensure smart deployments works in GitHub, Workflows must have read and write permissions on your repository. For more information, see [Managing GitHub Actions settings for a repository](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository).
102
99
103
-
The **smart deployments** feature is a back-end capability that improves performance by actively tracking modifications made to the content files of a connected repository. It uses a CSV file within the `.sentinel` folder in your repository to audit each commit. The workflow avoids redeploying content that hasn't been modified since the last deployment. This process improves your deployment performance and prevents tampering with unchanged content in your workspace, such as resetting dynamic schedules of your analytics rules.
100
+
The **smart deployments** feature is a back-end capability that improves performance by actively tracking modifications made to the content files of a connected repository. It uses a CSV file within the `.sentinel` folder in your repository to audit each commit. The workflow avoids redeploying content that wasn't modified since the last deployment. This process improves your deployment performance and prevents tampering with unchanged content in your workspace, such as resetting dynamic schedules of your analytics rules.
104
101
105
-
Smart deployments are enabled by default on newly created connections. If you prefer all source control content deployed every time a deployment is triggered, whether that content was modified or not, modify your workflow to disable smart deployments. For more information, see [Customize the workflow or pipeline](ci-cd-custom-deploy.md#customize-the-workflow-or-pipeline).
102
+
Smart deployments are enabled by default on newly created connections. If you prefer all source control content deployed every time a deployment is triggered, whether that content was modified or not, modify your workflow to disable smart deployments. For more information, see [Customize the workflow or pipeline](ci-cd-custom-deploy.md#customize-the-workflow-or-pipeline).
106
103
107
104
## Consider deployment customization options
108
105
@@ -126,7 +123,7 @@ Once the workflow or pipeline is triggered, the deployment supports the followin
126
123
127
124
- prioritize content to be deployed before the rest of the repo content
128
125
- exclude content from deployment
129
-
- specify ARM template parameter files
126
+
- specify ARM template parameter files
130
127
131
128
These options are available through a feature of the PowerShell deployment script called from the workflow or pipeline. For more information on how to implement these customizations, see [Customize repository deployments](ci-cd-custom-deploy.md#customize-your-connection-configuration).
132
129
@@ -135,7 +132,7 @@ These options are available through a feature of the PowerShell deployment scrip
135
132
For information on managing Microsoft Sentinel repositories using the API, see the [Source Control](/rest/api/securityinsights/source-control) and [Source Controls](/rest/api/securityinsights/source-controls) actions in the Microsoft Sentinel REST API.
136
133
137
134
> [!IMPORTANT]
138
-
> Starting **June 2026**, older API versions used by Microsoft Sentinel repositories will no longer be supported. If you are using APIs to create and manage repository connections, transition to API version **2025-09-01**, **2025-06-01**, or **2025-07-01-preview** before June 15, 2026 to avoid service disruption. Existing repository connections aren't affected.
135
+
> Starting **June 2026**, older API versions used by Microsoft Sentinel repositories will no longer be supported. If you're using APIs to create and manage repository connections, transition to API version **2025-09-01**, **2025-06-01**, or **2025-07-01-preview** before June 15, 2026 to avoid service disruption. Existing repository connections aren't affected.
0 commit comments