Microsoft Sentinel 倉庫允許你從外部版本控制庫部署和管理自訂的 Sentinel 內容,用於持續整合/持續交付(CI/CD)。 此自動化消除了手動更新與部署自訂內容於多個工作空間的需求。 內容即程式碼的子集是偵測為程式碼 (DaC)。 Microsoft Sentinel Repositories 也實作了 DaC。
若需更多有關 Microsoft Sentinel 的內容資訊,請參閱 About Microsoft Sentinel content and solutions。
重要事項
Microsoft Sentinel Repositories功能目前已在預覽中。 請參閱補充使用條款Microsoft Azure預覽,了解適用於Azure測試版、預覽版或其他尚未正式發布的功能的法律條款。
Microsoft Sentinel 倉庫的運作方式
你可以從連接到 Microsoft Sentinel 的外部原始碼控制倉庫部署這些 Microsoft Sentinel 自訂內容類型:
- 分析規則
- 自動化規則
- 搜捕查詢
- 剖析器
- 劇本
- Workbooks
您對 Microsoft Sentinel 倉庫內容所做的更新會同步至 Microsoft Sentinel 工作空間,並覆寫您透過 Microsoft Sentinel 入口網站對該內容所做的任何變更。 您的 Microsoft Sentinel 倉庫將成為您在連接工作空間中自訂內容的「唯一真實來源」。
規劃存放庫連線
Microsoft Sentinel 存放庫需要仔細規劃,以確保您從工作區到想要連線的存放庫 (Repo) 之間具有適當權限。
- 只支援連接 GitHub 和 Azure DevOps 倉庫。
- 需要協作者存取您的 GitHub 儲存庫,或專案管理員存取您的 Azure DevOps 儲存庫。
- Microsoft Sentinel 應用程式需要您授權存取存放庫。
- GitHub 必須啟用動作。
- Azure DevOps 必須啟用 Pipelines。
- Azure DevOps 連線必須與你的 Microsoft Sentinel 工作區在同一個租戶中。
建立與存放庫的連線,需要在包含 Microsoft Sentinel 工作區的資源群組中具備 Owner 角色。
如果在您不是參與者的公用存放庫中尋找內容,請先匯入、派生或將內容複製到您是參與者的存放庫。 接著將你的 repo 連接到 Microsoft Sentinel 工作空間。 如需詳細資訊,請參閱從存放庫部署自訂內容。
連線和部署的上限
- 每個Microsoft Sentinel工作區目前限制為五個儲存庫連線。
- 每個Azure資源群組在其部署歷史中限制為800次部署。 如果您有大量範本部署一或多個資源群組,您可能會看到
Deployment QuotaExceeded錯誤。 更多資訊請參閱Azure Resource Manager範本文件中的 DeploymentQuotaExceed。
規劃存放庫內容
Microsoft Sentinel 存放庫支援部署您以 Bicep 檔案或 Azure Resource Manager (ARM) 範本儲存的內容。 我們建議使用 Bicep,因為它更直覺,也更容易描述 Azure 資源和 Microsoft Sentinel 內容。
每種內容類型的範本都有特定的結構和參數名稱,詳見 Sentinel 資源範本參考。 關於每種內容類型的範例,請參見 RepositoriesSampleContent repository。
我們提供了範例資料庫,裡面有每種內容類型的範本。 存放庫也會示範存放庫連線的進階功能使用方式。 更多資訊請參見 Microsoft Sentinel CI/CD 資料庫樣本。
雖然你可以從零開始建立範本,但通常從 Sentinel 公共 GitHub 倉庫的 YAML 檔案或是開箱即用的 Microsoft Sentinel 內容開始會比較容易。 此表說明如何將 ARM 範本轉換為 Microsoft Sentinel 倉庫使用。
| 內容類型 | 從 Sentinel Public YAML 轉換 | 從 Sentinel 匯出 | 範本參考 | 範例範本 |
|---|---|---|---|---|
| 解析規則 | PowerShell 指令碼 | Export feature 或 PowerShell script | 參考 | ARM 範本 |
| 自動化規則 | N/A | Export feature 或 PowerShell scripts | 參考 | N/A |
| 搜尋查詢 | PowerShell 指令碼 | Azure CLI 指令 | 參考 | 範例內容 |
| 解析器 | ASIM PowerShell script | Azure CLI 指令 | 參考 | 模板 |
| 操作手冊 | N/A | PowerShell 工具 | 參考 | N/A |
| 作業簿 | N/A | 將工作簿匯出為 ARM 範本 | 參考 | N/A |
重要事項
Bicep 考量事項:
- 要使用 Bicep 檔案,如果你的連線是在 2024 年 11 月 1 日前建立的,則需要更新你的倉庫連線。 必須移除並重新建立存放庫連線,才能更新。
- Bicep檔案不支援
id屬性。 在將 ARM JSON 反編譯成 Bicep 時,請確定你沒有這個屬性。 例如,從 Microsoft Sentinel 匯出的分析規則範本中,有需要移除的id屬性。 - 將 ARM JSON 結構描述變更為版本
2019-04-01,以在反向組譯時獲得最佳結果。
重要事項
使用 Microsoft Sentinel Repositories 功能部署的分析規則,只有當目的地工作區與連接於儲存庫的工作區屬於同一資源群組時,才能使用跨工作空間查詢。
如需了解如何從頭開始建立自訂內容,請參閱相關Microsoft Sentinel GitHub 維基。
使用智慧部署改善效能
提示
為了確保智慧部署在 GitHub 上運作,工作流程必須對你的儲存庫擁有讀寫權限。 詳細資訊請參閱 管理 GitHub Actions 儲存庫設定。
智慧部署功能是一項後端功能,可對已連線存放庫的內容檔案所進行的修改進行主動追蹤來改善效能。 其會使用存放庫中 .sentinel 資料夾內的 CSV 檔案來稽核每個認可。 工作流程可避免將上次部署後從未修改過的內容重新部署。 此流程可改善您的部署效能,並避免竄改工作區中未變更的內容,例如重設分析規則的動態排程。
新建立的連線上預設會啟用智慧部署。 如果您想要每次在觸發部署時,都部署所有原始檔控制內容,無論內容是否已修改過,請修改您的工作流程來停用智慧部署。 如需詳細資訊,請參閱自訂工作流程或管線。
考慮部署自訂選項
在部署 Microsoft Sentinel 儲存庫內容時,請考慮以下自訂的選項。
自訂工作流程或管線
以下列其中一個方式自訂工作流程或管線:
- 設定不同的部署觸發程序
- 僅從指定工作區的特定根資料夾部署內容
- 排程定期執行工作流程
- 將不同的工作流程事件結合在一起
- 關閉智慧部署
這些自訂是在工作流程或管線特定的 .yml 檔案中定義。 如需如何實作的詳細資訊,請參閱自訂存放庫部署
自訂部署
觸發工作流程或管線之後,部署支援下列案例:
- 優先處理要部署的內容,再排列存放庫內容的其餘部分
- 從部署中排除內容
- 指定 ARM 範本參數檔案
這些選項可透過從工作流程或管線呼叫的 PowerShell 部署指令碼功能取得。 如需如何實作這些自訂的詳細資訊,請參閱自訂存放庫部署。
使用 API 管理 Microsoft Sentinel 倉庫
關於使用 API 管理 Microsoft Sentinel 倉庫的資訊,請參閱 Microsoft Sentinel REST API 中的 Source Control 及 Source Controls 動作。
重要事項
自 2026 年 6 月 15 日起,Microsoft Sentinel 倉庫使用的舊版 API 將不再支援。 如果您使用 API 來建立和管理儲存庫連線,請在 2026 年 6 月 15 日前轉換至 API 版本 2025-09-01、 2025-06-01 或 2025-07-01-preview ,以避免服務中斷。 現有的儲存庫連線不會受到影響。
後續步驟
獲取更多範例及逐步說明,了解如何部署 Microsoft Sentinel 倉庫。