Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns två huvudsakliga sätt att anpassa distributionen av lagringsplatsens innehåll till Microsoft Sentinel arbetsytor. Varje metod använder olika filer och syntax, så tänk på de här exemplen för att komma igång. Innan du börjar kontrollerar du att nödvändiga krav för lagringsplatsanslutning och distribution finns på plats.
| Anpassningsmetod | Driftsättningsalternativ som tas upp |
|---|---|
| GitHub-arbetsflöde DevOps-pipeline |
Anpassa anslutningens distributionsutlösare Anpassa distributionsvägen Aktivering av Smart-distributioner |
| Konfigurationsfiler | Kontrollera den prioriterade ordningen för dina innehållsdistributioner Välj att undanta specifika innehållsfiler från distributioner Skala distributioner över olika arbetsytor genom att mappa parameterfiler till specifika innehållsfiler |
Förhandskrav
Om du vill anpassa en lagringsplatsdistribution behöver du en befintlig lagringsplatsanslutning. Information om hur du skapar ett finns i Distribuera anpassat innehåll från lagringsplatsen. När du har skapat anslutningen måste du uppfylla följande krav:
- Samarbetspartners åtkomst till din GitHub-lagringsplats eller projektadministratörsåtkomst till din Azure DevOps-lagringsplats
- Åtgärder aktiverade för GitHub och pipelines som är aktiverade för Azure DevOps
- Se till att anpassade innehållsfiler som du vill distribuera till dina arbetsytor har ett format som stöds. Format som stöds finns i Planera ditt lagringsplatsinnehåll.
Mer information om distributionsbara innehållstyper finns i Planera ditt lagringsplatsinnehåll.
Anpassa arbetsflödet eller pipelinen
Standardarbetsflödet distribuerar endast innehåll som ändrats sedan den senaste distributionen, baserat på incheckningar till lagringsplatsen. Anpassa arbetsflödet eller pipelinen för att konfigurera olika distributionstriggers, eller för att distribuera innehåll uteslutande från en specifik rotmapp.
Välj någon av följande flikar beroende på din anslutningstyp:
För att anpassa ditt GitHub-distributionsarbetsflöde:
I GitHub går du till din lagringsplats och hittar arbetsflödet i katalogen .github/workflows .
Arbetsflödesfilen är YML-filen som börjar med sentinel-deploy-xxxxx.yml. Öppna filen och arbetsflödets namn visas på den första raden och har följande standardnamnkonvention:
Deploy Content to <workspace-name> [<deployment-id>].Till exempel:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]Välj pennknappen längst upp till höger på sidan för att öppna filen för redigering och ändra sedan distributionen på följande sätt:
För att ändra distributionstriggern, uppdatera
onavsnittet i koden som beskriver händelsen som triggar arbetsflödet.Som standard är den här konfigurationen inställd på
on: push, vilket innebär att arbetsflödet utlöses vid varje push-överföring till den anslutna grenen, inklusive både ändringar av befintligt innehåll och tillägg av nytt innehåll på lagringsplatsen. Till exempel:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`Ändra dessa inställningar, till exempel för att schemalägga arbetsflödet så att det körs regelbundet eller för att kombinera olika arbetsflödeshändelser tillsammans.
För mer information, se Konfigurera arbetsflödeshändelser i GitHub-dokumentationen.
För att inaktivera smarta utplaceringar:
Smart distributionsbeteende konfigureras separat från arbetsflödestriggern i avsnittet
on. Gå till avsnittetjobsi arbetsflödet.smartDeploymentVäxla standardvärdet fråntruetillfalse. När den här ändringen har utförts stängs funktionen för smart distribution av och alla framtida distributioner för den här anslutningen distribuerar om alla lagringsplatsens relevanta innehållsfiler till de anslutna arbetsytorna.För att ändra distributionsvägen:
I standardkonfigurationen som visas för avsnittet
onanger jokertecknen (**) på första raden i avsnittetpathsatt hela grenen ingår i sökvägen för distributionsutlösare.Denna standardkonfiguration innebär att ett distributionsflöde triggas varje gång innehåll skickas till någon del av den anslutna grenen.
I
jobsavsnittet ingår standardkonfigurationen .directory: '${{ github.workspace }}'Inställningendirectoryanger att hela GitHub-grenen finns i vägen för innehållsdistributionen, utan filtrering för några mappvägar.Om du bara vill distribuera innehåll från en specifik mappsökväg lägger du till det i både
pathsoch konfigurationendirectory. Om du till exempel bara vill distribuera innehåll från en rotmapp med namnetSentinelContentuppdaterar du koden på följande sätt: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'
För mer information, se GitHub Actions arbetsflödessyntax för vägfilter i GitHub-dokumentationen.
Viktigt
I både GitHub och Azure DevOps kontrollerar du att du håller utlösarsökvägen och distributionssökvägens kataloger konsekventa.
Skala dina distributioner med parameterfiler
I stället för att skicka parametrar som infogade värden i innehållsfilerna bör du överväga att använda en Bicep-parameterfil eller en JSON-fil som innehåller parametervärdena. Mappa sedan parameterfilerna till deras associerade Microsoft Sentinel innehållsfiler för att skala distributionerna bättre på olika arbetsytor.
Det finns flera sätt att mappa parameterfiler till innehållsfilerna. Tänk på att Bicep-parameterfiler endast stöder Bicep-filmallar, men JSON-parameterfiler stöder båda. Distributionspipelinen för lagringsplatser tar hänsyn till parameterfiler i följande ordning:
Finns det en mappning i sentinel-deployment.config?
Mer information finns i Anpassa anslutningskonfigurationen.Finns det en mappad parameterfil för arbetsytan? Ja, innehållsfilerna finns i samma katalog med en arbetsytemappad parameterfil som matchar något av följande mönster:
.<WorkspaceID.bicepparam.parameters-WorkspaceID>
<>.jsonFinns det en standardparameterfil? Ja, innehållsfilerna finns i samma katalog med en parameterfil som matchar något av följande mönster:
.bicepparam
.parameters.json
Undvik konflikter med flera arbetsytedistributioner genom att mappa parameterfilerna via konfigurationsfilen eller ange arbetsyte-ID:t i filnamnet.
Viktigt
När en parameterfilmatchning har fastställts baserat på mappningsprioritet ignorerar pipelinen eventuella återstående mappningar.
Om du ändrar den mappade parameterfilen som anges i sentinel-deployment.config utlöses distributionen av dess länkade innehållsfil. Att lägga till eller ändra en mappad parameterfil för arbetsytan eller en standardparameterfil utlöser också en distribution av de kopplade innehållsfilerna tillsammans med de nyligen ändrade parametrarna, såvida inte en högre prioritetsparametermappning finns på plats. Andra innehållsfiler distribueras inte så länge funktionen för smarta distributioner fortfarande är aktiverad i definitionsfilen för arbetsflöde/pipeline.
Anpassa anslutningskonfigurationen
Distributionsskriptet för lagringsplatser stöder användningen av en distributionskonfigurationsfil för varje lagringsplatsgren från och med juli 2022. JSON-konfigurationsfilen hjälper dig att mappa parameterfiler till relevanta innehållsfiler, prioritera specifikt innehåll i distributioner och exkludera specifikt innehåll från distributioner.
Viktigt
När du skapar, tar bort eller ändrar sentinel-deployment.config-filen utlöses en fullständig distribution av allt lagringsplatsinnehåll enligt den uppdaterade konfigurationen.
Skapa filen sentinel-deployment.config i roten av ditt repo.
Inkludera ditt strukturerade innehåll i tre valfria avsnitt,
"prioritizedcontentfiles":,"excludecontentfiles":och"parameterfilemappings":. Om inga avsnitt ingår eller om .config fil utelämnas körs distributionsprocessen fortfarande. Ogiltiga eller okända avsnitt ignoreras.
Här är ett exempel på hela innehållet i en giltig sentinel-deployment.config fil. Det här exemplet kan också hittas i exemplet Microsoft Sentinel CICD repositories.
{
"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"
}
Obs!
Använd inte tecknet bakstreck ("\") i någon av sökvägarna till innehåll. Använd snedstrecket "/" i stället.
För att prioritera innehållsfiler:
I takt med att mängden innehåll på lagringsplatsen växer kan distributionstiderna öka. Lägg till tidskänsligt innehåll i detta avsnitt för att prioritera driftsättningen när en utlösare aktiveras.
Lägg till fullständiga sökvägsnamn i
"prioritizedcontentfiles":avsnittet. Jokerteckenmatchning stöds inte just nu.För att utesluta innehållsfiler, ändra
"excludecontentfiles":avsnittet med fullständiga sökvägnamn för enskilda .json innehållsfiler.För att kartlägga parametrar:
Distributionsskriptet accepterar tre metoder för mappningsparametrar (konfigurationsfilmappningar, arbetsytemappade parameterfiler och standardparameterfiler) enligt beskrivningen i Skala dina distributioner med parameterfiler. Att mappa parametrar via sentinel-deployment.config har högsta prioritet och garanterar att en viss parameterfil mappas till dess associerade innehållsfiler. Ändra avsnittet med målanslutningens
"parameterfilemappings":arbetsyte-ID och fullständiga sökvägsnamn för enskilda .json filer.