Přizpůsobení nasazení úložiště (Public Preview)
Nasazení obsahu úložiště do pracovních prostorů Služby Microsoft Sentinel můžete přizpůsobit dvěma primárními způsoby. Každá metoda používá různé soubory a syntaxi, proto zvažte tyto příklady, abyste mohli začít.
Metoda přizpůsobení | Probírané možnosti nasazení |
---|---|
Pracovní postup GitHubu Kanál DevOps |
Přizpůsobení triggeru nasazení připojení Přizpůsobení cesty nasazení Povolení inteligentních nasazení |
Konfigurační soubory | Řízení pořadí nasazení obsahu podle priority Volba vyloučení konkrétních souborů obsahu z nasazení Škálování nasazení napříč různými pracovními prostory mapováním souborů parametrů na konkrétní soubory obsahu |
Důležité
Funkce úložiště Služby Microsoft Sentinel je aktuálně ve verzi PREVIEW. Další právní podmínky, které se vztahují na funkce Azure v beta verzi, preview nebo které ještě nejsou vydané v obecné dostupnosti, najdete v dodatečných podmínkách použití pro Microsoft Azure Preview.
Požadavky
Aby bylo možné přizpůsobit nasazení úložišť, musí existovat připojení úložiště. Další informace o vytvoření připojení najdete v tématu Nasazení vlastního obsahu z úložiště. Po vytvoření připojení platí následující požadavky:
- Přístup spolupracovníka k úložišti GitHub nebo správci projektu k vašemu úložišti Azure DevOps
- Povolené akce pro GitHub a Pipelines pro Azure DevOps
- Zajistěte, aby soubory vlastního obsahu, které chcete nasadit do pracovních prostorů, byly v podporovaném formátu. Podporované formáty najdete v tématu Plánování obsahu úložiště.
Další informace o nasaditelných typech obsahu najdete v tématu Ověření obsahu.
Přizpůsobení pracovního postupu nebo kanálu
Výchozí pracovní postup nasadí obsah upravený pouze od posledního nasazení na základě potvrzení do úložiště. Přizpůsobte si konfiguraci různých aktivačních událostí nasazení nebo nasaďte obsah výhradně z konkrétní kořenové složky.
V závislosti na typu připojení vyberte jednu z následujících karet:
Přizpůsobení pracovního postupu nasazení GitHubu:
Na GitHubu přejděte do svého úložiště a vyhledejte svůj pracovní postup v adresáři .github/workflows .
Soubor pracovního postupu je soubor YML začínající sentinel-deploy-xxxxx.yml. Otevřete tento soubor a název pracovního postupu se zobrazí na prvním řádku a má následující výchozí konvenci pojmenování:
Deploy Content to <workspace-name> [<deployment-id>]
Příklad:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]
Výběrem tlačítka tužky v pravém horním rohu stránky otevřete soubor pro úpravy a pak upravte nasazení následujícím způsobem:
Pokud chcete upravit aktivační událost nasazení, aktualizujte
on
část v kódu, která popisuje událost, která aktivuje spuštění pracovního postupu.Ve výchozím nastavení je tato konfigurace nastavená na
on: push
, což znamená, že pracovní postup se aktivuje při jakémkoli nasdílení změn do připojené větve, včetně úprav stávajícího obsahu a přidání nového obsahu do úložiště. Příklad:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
Změňte tato nastavení, například pro naplánování pravidelného spuštění pracovního postupu nebo sloučení různých událostí pracovního postupu.
Další informace najdete v dokumentaci GitHubu ke konfiguraci událostí pracovního postupu.
Zakázání inteligentních nasazení: Chování inteligentních nasazení je oddělené od triggeru nasazení, který je popsán. Přejděte do
jobs
části pracovního postupu.smartDeployment
Přepněte výchozí hodnotu ztrue
dofalse
. Po potvrzení této změny je funkce inteligentního nasazení vypnutá a všechna budoucí nasazení tohoto připojení znovu nasadí všechny relevantní soubory obsahu úložiště do připojených pracovních prostorů.Úprava cesty nasazení:
Ve výchozí konfiguraci zobrazené pro
on
oddíl označují zástupné znamény (**
) v prvním řádku oddílupaths
, že celá větev je v cestě pro triggery nasazení.Tato výchozí konfigurace znamená, že pracovní postup nasazení se aktivuje pokaždé, když se obsah odešle do jakékoli části větve.
Dále v souboru
jobs
část obsahuje následující výchozí konfiguraci:directory: '${{ github.workspace }}'
. Tento řádek označuje, že celá větev GitHubu je v cestě pro nasazení obsahu bez filtrování cest ke složkám.Pokud chcete nasadit obsah pouze z určité cesty ke složce, přidejte ho
paths
directory
do konfigurace i do ní. Pokud chcete například nasadit obsah pouze z kořenové složky s názvemSentinelContent
, aktualizujte kód následujícím způsobem:paths: - `SentinelContent/**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml` ... directory: '${{ github.workspace }}/SentinelContent'
Další informace najdete v dokumentaci k GitHubu v GitHub Actions a úpravách pracovních postupů GitHubu.
Důležité
V GitHubu i Azure DevOps se ujistěte, že jsou cesty triggeru a adresáře cest nasazení konzistentní.
Škálování nasazení pomocí souborů parametrů
Místo předávání parametrů jako vložených hodnot v souborech obsahu zvažte použití souboru parametrů Bicep nebo souboru JSON, který obsahuje hodnoty parametrů. Pak tyto soubory parametrů namapujte na související soubory obsahu Služby Microsoft Sentinel, abyste mohli lépe škálovat nasazení v různých pracovních prostorech.
Existuje několik způsobů, jak mapovat soubory parametrů na soubory obsahu. Mějte na paměti, že soubory parametrů Bicep podporují pouze šablony souborů Bicep, ale soubory parametrů JSON podporují obojí. Kanál nasazení úložiště považuje soubory parametrů v následujícím pořadí:
Je v souboru sentinel-deployment.config mapování?
Další informace najdete v tématu Přizpůsobení konfigurace připojení.Existuje soubor parametrů mapovaný pracovním prostorem? Ano, soubory obsahu jsou ve stejném adresáři se souborem parametrů mapovaným pracovním prostorem, který odpovídá jednomu z těchto vzorů:
.<WorkspaceID.bicepparam.parameters-WorkspaceID><
>.jsonExistuje výchozí soubor parametrů? Ano, soubory obsahu jsou ve stejném adresáři se souborem parametrů, který odpovídá jednomu z těchto vzorů:
.bicepparam
.parameters.json
Vyhněte se konfliktům s více nasazeními pracovních prostorů tím, že soubory parametrů namapujeme prostřednictvím konfiguračního souboru nebo zadáte ID pracovního prostoru v názvu souboru.
Důležité
Jakmile se určí shoda souboru parametrů na základě priority mapování, kanál ignoruje všechna zbývající mapování.
Při úpravě souboru mapovaného parametru uvedeného v souboru sentinel-deployment.config se aktivuje nasazení souboru spárovaného obsahu. Když přidáte nebo upravíte soubor parametrů mapovaný pracovním prostorem nebo výchozí soubor parametrů, aktivuje se také nasazení spárovaných souborů obsahu spolu s nově upravenými parametry, pokud se nenastaví mapování parametrů s vyšší prioritou. Jiné soubory obsahu se nenasazují, pokud je funkce inteligentních nasazení stále povolená v definičním souboru pracovního postupu nebo kanálu.
Přizpůsobení konfigurace připojení
Skript nasazení pro úložiště podporuje použití konfiguračního souboru nasazení pro každou větev úložiště od července 2022. Konfigurační soubor JSON vám pomůže namapovat soubory parametrů na relevantní soubory obsahu, určit prioritu konkrétního obsahu v nasazeních a vyloučit konkrétní obsah z nasazení.
Vytvořte soubor sentinel-deployment.config v kořenovém adresáři úložiště. Přidání, odstranění nebo úprava tohoto konfiguračního souboru aktivuje úplné nasazení veškerého obsahu v úložišti podle aktualizované konfigurace.
Zahrňte strukturovaný obsah do tří volitelných částí,
"prioritizedcontentfiles":
,"excludecontentfiles":
a"parameterfilemappings":
. Pokud nejsou zahrnuty žádné oddíly nebo není vynechán soubor .config, proces nasazení stále běží. Neplatné nebo nerozpoznané oddíly se ignorují.
Tady je příklad celého obsahu platného souboru sentinel-deployment.config . Tuto ukázku najdete také v ukázce úložišť CICD služby Microsoft Sentinel.
{
"prioritizedcontentfiles": [
"parsers/Sample/ASimAuthenticationAWSCloudTrail.json",
"workbooks/sample/TrendMicroDeepSecurityAttackActivity_ARM.json",
"Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.bicep"
],
"excludecontentfiles": [
"Detections/Sample/PaloAlto-PortScanning.json",
"parameters"
],
"parameterfilemappings": {
"879001c8-2181-4374-be7d-72e5dc69bd2b": {
"Playbooks/PaloAlto-PAN-OS/Playbooks/PaloAlto-PAN-OS-BlockIP/azuredeploy.bicep": "parameters/samples/auzredeploy.bicepparam"
},
"9af71571-7181-4cef-992e-ef3f61506b4e": {
"Playbooks/Enrich-SentinelIncident-GreyNoiseCommunity-IP/azuredeploy.json": "path/to/any-parameter-file.json"
}
},
"DummySection": "This shouldn't impact deployment"
}
Poznámka:
Nepoužívejte zpětné lomítko "\" v žádném z cest k obsahu. Místo toho použijte lomítko /.
Určení priority souborů obsahu:
S rostoucím množstvím obsahu v úložišti se může zvýšit doba nasazení. Přidejte do této části časově citlivý obsah, abyste při výskytu triggeru upřednostněli jeho nasazení.
Přidejte do oddílu
"prioritizedcontentfiles":
úplné názvy cest. Párování zástupných znaků se v tuto chvíli nepodporuje.Chcete-li vyloučit soubory obsahu, upravte
"excludecontentfiles":
oddíl s úplnými názvy cest jednotlivých .json souborů obsahu.Mapování parametrů:
Skript nasazení přijímá tři metody mapování parametrů, jak je popsáno ve škálování nasazení pomocí souborů parametrů. Mapování parametrů prostřednictvím sentinel-deployment.config má nejvyšší prioritu a zaručuje, že se daný soubor parametrů mapuje na přidružené soubory obsahu.
"parameterfilemappings":
Upravte oddíl s ID pracovního prostoru cílového připojení a úplnými názvy cest jednotlivých .json souborů.
Související obsah
K dispozici je ukázkové úložiště, které demonstruje konfigurační soubor nasazení a všechny tři metody mapování parametrů. Další informace najdete v ukázce úložišť CICD služby Microsoft Sentinel.