Sdílet prostřednictvím


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

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:

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

  2. 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 z true do false. 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ílu paths , ž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á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 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í:

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

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

  2. 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><
    >.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 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í.

  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ě ÚložištěSampleContent se zobrazí s umístěním souboru sentinel-deployment.config.

  2. 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ů.

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.