使用 Microsoft Sentinel 存放庫管理自訂內容 (公開預覽)
Microsoft Sentinel 存放庫功能提供以程式代碼的形式部署和管理 Sentinel 內容的集中體驗。 存放庫允許連線到外部原始檔控制,以進行持續整合/持續傳遞(CI/CD)。 此自動化可減輕手動程式在工作區之間更新和部署自定義內容的負擔。 如需 Sentinel 內容的詳細資訊,請參閱 About Microsoft Sentinel 內容和解決方案。
重要
Microsoft Sentinel [存放庫] 功能目前處於預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。
規劃存放庫連線
Microsoft Sentinel 存放庫需要仔細規劃,以確保您擁有從工作區到您要連線之存放庫(存放庫)的適當許可權。
- 僅支援 GitHub 和 Azure DevOps 存放庫的連線。
- 需要對 GitHub 存放庫或 Project Administrator 存取 Azure DevOps 存放庫的共同作業者存取權。
- Microsoft Sentinel 應用程式需要存放庫的授權。
- 必須啟用 GitHub 的動作。
- 必須啟用 Azure DevOps 的管線。
- Azure DevOps 連線必須與Microsoft Sentinel 工作區位於相同的租使用者中。
建立存放庫的連線需要 資源群組中的擁有者 角色,其中包含您的 Microsoft Sentinel 工作區。 如果您無法在環境中使用擁有者角色,請使用使用者存取管理員和 Sentinel 參與者角色的組合來建立連線。
如果您在不是參與者的公用存放庫中找到內容,請先匯入、派生或將內容複製到您是參與者的存放庫。 然後將存放庫連線到 Microsoft Sentinel 工作區。 如需詳細資訊,請參閱 從存放庫部署自定義內容。
規劃存放庫內容
存放庫內容必須儲存為 Bicep 檔案 或 Azure Resource Manager (ARM) 範本。 不過,Bicep 更直覺,可讓您更輕鬆地描述 Azure 資源和Microsoft Sentinel 內容。
將 Bicep 檔案範本與 ARM JSON 範本一起部署或取代。 如果您正在考慮基礎結構即程式碼選項,建議考慮 Bicep。 如需詳細資訊,請參閱什麼是 Bicep?。
重要
若要使用 Bicep 範本,如果您的連線是在 2024 年 11 月 1 日之前建立的,就必須更新您的存放庫連線。 必須 移除 並重新建立存放庫連線,才能更新。
即使您的原始內容是 ARM 範本,請考慮轉換成 Bicep,讓檢閱和更新程式變得較不複雜。 Bicep 與 ARM 密切相關,因為在部署期間,每個 Bicep 檔案都會轉換成 ARM 範本。 如需將 ARM 範本轉換為 Bicep 的詳細資訊,請參閱將 ARM 範本 JSON 反編譯。
注意
已知的 Bicep 限制:
- Bicep 範本不支援
id
屬性。 將 ARM JSON 反編譯至 Bicep 時,請確定您沒有此屬性。 例如,從 Microsoft Sentinel 導出的分析規則範本具有id
需要移除的屬性。 - 將 ARM JSON 架構變更為版本
2019-04-01
,以在反編譯時獲得最佳結果。
驗證您的內容
您可以透過存放庫連線來部署下列Microsoft Sentinel 內容類型:
- Analytics 規則
- 自動化規則
- 搜捕查詢
- 剖析器
- 劇本
- 活頁簿
提示
本文不會說明如何從頭開始建立這些類型的內容。 如需詳細資訊,請參閱每個內容類型的相關 Microsoft Sentinel GitHub Wiki 。
存放庫部署不會驗證內容,但確認其格式正確為 JSON 或 Bicep。 部署之前,請務必先在 Microsoft Sentinel 內測試您的內容。
範例存放庫可供列出每個內容類型的範本使用。 存放庫也會示範如何使用存放庫連線的進階功能。 如需詳細資訊,請參閱 Microsoft Sentinel CI/CD 存放庫範例。
連線與部署數上限
- 每個Microsoft Sentinel 工作區目前限製為 五個存放庫連線。
- 每個 Azure 資源群組在其部署歷程記錄中限制為 800 個 部署。 如果您有大量範本部署一或多個資源群組,您可能會看到
Deployment QuotaExceeded
錯誤。 如需詳細資訊,請參閱 Azure Resource Manager 範本檔中的 DeploymentQuotaExceededed 。
使用智慧部署改善效能
提示
為了確保智慧部署可在 GitHub 中運作,工作流程必須具有存放庫的讀取和寫入許可權。 如需詳細資訊,請參閱 管理存放庫 的 GitHub Actions 設定。
智慧型手機功能是後端功能,可透過主動追蹤對已連線存放庫內容檔案所做的修改來改善效能。 它會使用存放庫中資料夾中的 .sentinel
CSV 檔案來稽核每個認可。 工作流程可避免重新部署自上次部署後尚未修改的內容。 此程式可改善您的部署效能,並防止竄改工作區中未變更的內容,例如重設分析規則的動態排程。
新建立的連線預設會啟用智慧部署。 如果您偏好每次觸發部署時部署的所有原始檔控制內容,不論該內容是否已修改,請修改工作流程以停用智慧部署。 如需詳細資訊,請參閱 自定義工作流程或管線。
考慮部署自定義選項
使用 Microsoft Sentinel 存放庫部署內容時,請考慮下列自定義選項。
自訂工作流程或管線
以下列其中一種方式自定義工作流程或管線:
- 設定不同的部署觸發程式
- 僅從指定工作區的特定根資料夾部署內容
- 排程工作流程以定期執行
- 將不同的工作流程事件結合在一起
- 關閉智慧型手機部署
這些自定義是在工作流程或管線專屬的.yml檔案中定義。 如需如何實作的詳細資訊,請參閱 自定義存放庫部署
自訂部署
觸發工作流程或管線之後,部署支援下列案例:
- 排定在存放庫內容其餘部分之前要部署的內容的優先順序
- 從部署中排除內容
- 指定 ARM 樣本參數檔案
這些選項可透過從工作流程或管線呼叫的PowerShell部署腳本功能取得。 如需如何實作這些自定義的詳細資訊,請參閱 自定義存放庫部署。
下一步
取得部署Microsoft Sentinel 存放庫的更多範例和逐步指示。