Přizpůsobení nasazení úložiště (Public Preview)

Existují dva primární způsoby, jak přizpůsobit nasazení obsahu úložiště do Microsoft Sentinel pracovních prostorů. Každá metoda používá jiné soubory a syntaxi, proto zvažte tyto příklady, které vám pomůžou 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ě Microsoft Sentinel je aktuálně ve verzi PREVIEW. Další právní podmínky, které se vztahují na Azure funkce, které jsou v beta verzi, ve verzi Preview nebo jinak nejsou obecně dostupné, 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í k úložišti. 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 přístup správce projektu k úložišti Azure DevOps
  • Akce povolené pro GitHub a Kanály pro Azure DevOps
  • Zajistěte, aby soubory vlastního obsahu, které chcete nasadit do vašich pracovních prostorů, byly v podporovaném formátu. Informace o podporovaných formátech najdete v tématu Plánování obsahu úložiště.

Další informace o nasaditelných typech obsahu najdete v tématu Plánování obsahu úložiště.

Přizpůsobení pracovního postupu nebo kanálu

Výchozí pracovní postup nasadí pouze obsah upravený od posledního nasazení na základě potvrzení do úložiště. Přizpůsobením nakonfigurujete různé triggery nasazení nebo nasadí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:

  1. V GitHubu přejděte do ú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í zásady vytváření názvů: Deploy Content to <workspace-name> [<deployment-id>].

    Například: name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]

  2. Výběrem tlačítka tužky v pravém horním rohu stránky otevřete soubor pro úpravy a pak následujícím způsobem upravte nasazení:

    • Pokud chcete upravit trigger nasazení, aktualizujte on část 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: pushhodnotu , což znamená, že pracovní postup se aktivuje při každém nasdílení změn do připojené větve, včetně úprav existujícího obsahu a přidání nového obsahu do úložiště. Příklady:

      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 tak, že naplánujete pravidelné spouštění pracovního postupu nebo zkombinujete různé události pracovního postupu dohromady.

      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 probíraného triggeru nasazení. Přejděte do jobs části pracovního postupu. smartDeployment Přepněte výchozí hodnotu z true na false. Po potvrzení této změny se funkce inteligentního nasazení vypne a všechna budoucí nasazení pro toto připojení znovu nasadí všechny soubory relevantního obsahu úložiště do připojených pracovních prostorů.

    • Postup úpravy cesty nasazení:

      Ve výchozí konfiguraci zobrazené pro on oddíl označují zástupné čáry (**) na prvním řádku oddílu paths , že celá větev je v cestě pro triggery nasazení.

      Tato výchozí konfigurace znamená, že pracovní postup nasazení se aktivuje vždy, když se obsah odešle do libovolné části větve.

      Dále v souboru jobs obsahuje část 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 jenom z konkrétní cesty ke složce, přidejte ho paths do konfigurace i do directory ní. Pokud například chcete nasadit obsah pouze z kořenové složky s názvem SentinelContent, 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 githubu k GitHub Actions a úpravám pracovních postupů GitHubu.

Důležité

V GitHubu i v Azure DevOps se ujistěte, že je cesta 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ů. Potom tyto soubory parametrů namapujte na jejich přidružené Microsoft Sentinel soubory obsahu, abyste lépe škálovali nasazení v různých pracovních prostorech.

Existuje několik způsobů, jak namapovat soubory parametrů na soubory obsahu. Mějte na paměti, že soubory parametrů Bicep podporují jenom šablony souborů Bicep, ale soubory parametrů JSON podporují obojí. Kanál nasazení úložišť bere v úvahu soubory parametrů v následujícím pořadí:

Diagram znázorňující prioritu mapování souborů parametrů

  1. Je v sentinel-deployment.configmapování?
    Další informace najdete v tématu Přizpůsobení konfigurace připojení.

  2. Existuje soubor parametrů mapovaný na pracovní prostor? Ano, soubory obsahu jsou ve stejném adresáři se souborem parametrů mapovaných na pracovní prostor, který odpovídá jednomu z těchto vzorů:
    .<WorkspaceID.bicepparam.parameters-WorkspaceID>
    <>.json

  3. Existuje 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 kolizím s více nasazeními pracovních prostorů tím, že soubory parametrů namapujte prostřednictvím konfiguračního souboru nebo zadáte ID pracovního prostoru v názvu souboru.

Důležité

Po určení shody souboru parametrů na základě priority mapování kanál ignoruje všechna zbývající mapování.

Úprava namapovaného souboru parametrů uvedeného v sentinel-deployment.config aktivuje nasazení jeho spárovaného souboru obsahu. Přidání nebo úprava souboru parametrů mapovaného pracovního prostoru nebo výchozího souboru parametrů také aktivuje nasazení spárovaných souborů obsahu spolu s nově upravenými parametry, pokud není nastavené mapování parametrů s vyšší prioritou. Ostatní soubory obsahu se nenasazují, pokud je v definičním souboru pracovního postupu nebo kanálu stále povolená funkce inteligentních nasazení.

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 mapovat soubory parametrů na relevantní soubory obsahu, určit prioritu konkrétního obsahu v nasazeních a vyloučit konkrétní obsah z nasazení.

  1. 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.

    Snímek obrazovky kořenového adresáře úložiště RepositoriesSampleContent se zobrazuje s umístěním souboru sentinel-deployment.config.

  2. Strukturovaný obsah zahrňte do tří volitelných oddílů, "prioritizedcontentfiles":, "excludecontentfiles":a "parameterfilemappings":. Pokud nejsou zahrnuty žádné oddíly nebo je .config soubor vynechán, proces nasazení stále běží. Neplatné nebo nerozpoznané oddíly jsou ignorovány.

Tady je příklad celého obsahu platného souborusentinel-deployment.config . Tuto ukázku najdete také v ukázce Microsoft Sentinel úložišť CICD.

{
  "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 znak zpětného lomítka "\" v žádné 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 prodlužovat doba nasazení. Přidejte do této části časově citlivý obsah, který určuje prioritu nasazení při výskytu triggeru.

    Přidejte do oddílu "prioritizedcontentfiles": úplné názvy cest. Porovnávání zástupných znaků se v tuto chvíli nepodporuje.

  • Pokud chcete 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 v tématu Škálování nasazení pomocí souborů parametrů. Mapování parametrů prostřednictvím sentinel-deployment.config má nejvyšší prioritu a zaručuje, že daný soubor parametrů je mapován 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 k jednotlivým .json souborům.

K dispozici je ukázkové úložiště demonstrující konfigurační soubor nasazení a všechny tři metody mapování parametrů. Další informace najdete v tématu Microsoft Sentinel ukázka úložišť CICD.