Implementaties van opslagplaatsen aanpassen (openbare preview)
Er zijn twee primaire manieren om de implementatie van de inhoud van uw opslagplaats aan te passen aan Microsoft Sentinel-werkruimten. Elke methode maakt gebruik van verschillende bestanden en syntaxis, dus bekijk deze voorbeelden om u op weg te helpen.
Aanpassingsmethode | Implementatieopties behandeld |
---|---|
GitHub-workflow DevOps-pijplijn |
De implementatietrigger van uw verbinding aanpassen Uw implementatiepad aanpassen Slimme implementaties inschakelen |
Configuratiebestanden | De prioriteitsvolgorde van uw inhoudsimplementaties beheren Ervoor kiezen om specifieke inhoudsbestanden uit te sluiten van implementaties Implementaties in verschillende werkruimten schalen door parameterbestanden toe te stellen aan specifieke inhoudsbestanden |
Belangrijk
De functie Microsoft Sentinel-opslagplaatsen is momenteel beschikbaar als PREVIEW-versie. Zie de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer juridische voorwaarden die van toepassing zijn op Azure-functies die bèta, preview of anderszins nog niet beschikbaar zijn in algemene beschikbaarheid.
Vereisten
Als u een implementatie van opslagplaatsen wilt aanpassen, moet er een opslagplaatsverbinding bestaan. Zie Aangepaste inhoud implementeren vanuit uw opslagplaats voor meer informatie over het maken van de verbinding. Nadat de verbinding is gemaakt, zijn de volgende vereisten van toepassing:
- Samenwerkertoegang tot uw GitHub-opslagplaats of projectbeheerdertoegang tot uw Azure DevOps-opslagplaats
- Acties ingeschakeld voor GitHub en Pijplijnen die zijn ingeschakeld voor Azure DevOps
- Zorg ervoor dat aangepaste inhoudsbestanden die u in uw werkruimten wilt implementeren, een ondersteunde indeling hebben. Zie De inhoud van uw opslagplaats plannen voor ondersteunde indelingen.
Zie Uw inhoud valideren voor meer informatie over implementeerbare inhoudstypen.
De werkstroom of pijplijn aanpassen
De standaardwerkstroom implementeert alleen inhoud die is gewijzigd sinds de laatste implementatie, op basis van doorvoeringen naar de opslagplaats. Pas aan om verschillende implementatietriggers te configureren of om inhoud uitsluitend vanuit een specifieke hoofdmap te implementeren.
Selecteer een van de volgende tabbladen, afhankelijk van uw verbindingstype:
Uw GitHub-implementatiewerkstroom aanpassen:
Ga in GitHub naar uw opslagplaats en zoek uw werkstroom in de map .github/workflows .
Het werkstroombestand is het YML-bestand dat begint met sentinel-deploy-xxxxx.yml. Open dat bestand en de naam van de werkstroom wordt weergegeven op de eerste regel en heeft de volgende standaardnaamconventie:
Deploy Content to <workspace-name> [<deployment-id>]
.Bijvoorbeeld:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]
Selecteer de potloodknop rechtsboven op de pagina om het bestand te openen om het te bewerken en wijzig de implementatie als volgt:
Als u de implementatietrigger wilt wijzigen, werkt u de
on
sectie in de code bij, waarin de gebeurtenis wordt beschreven die de werkstroom activeert om uit te voeren.Deze configuratie is standaard ingesteld op
on: push
, wat betekent dat de werkstroom wordt geactiveerd bij een push naar de verbonden vertakking, inclusief wijzigingen in bestaande inhoud en toevoegingen van nieuwe inhoud aan de opslagplaats. Voorbeeld:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
Wijzig deze instellingen bijvoorbeeld om de werkstroom periodiek uit te voeren of om verschillende werkstroomevenementen samen te combineren.
Zie de GitHub-documentatie voor het configureren van werkstroomevenementen voor meer informatie.
Slimme implementaties uitschakelen: het gedrag van slimme implementaties is gescheiden van de implementatietrigger die wordt besproken. Navigeer naar de
jobs
sectie van uw werkstroom. Schakel desmartDeployment
standaardwaarde vantrue
infalse
. Zodra deze wijziging is doorgevoerd, wordt de functionaliteit voor slimme implementatie uitgeschakeld en worden alle toekomstige implementaties voor deze verbinding opnieuw geïmplementeerd in alle relevante inhoudsbestanden van de opslagplaats naar de verbonden werkruimten.Het implementatiepad wijzigen:
In de standaardconfiguratie die voor de
on
sectie wordt weergegeven, geven de jokertekens (**
) op de eerste regel in depaths
sectie aan dat de hele vertakking zich in het pad voor de implementatietriggers bevindt.Deze standaardconfiguratie betekent dat een implementatiewerkstroom wordt geactiveerd wanneer inhoud naar een deel van de vertakking wordt gepusht.
Verderop in het bestand bevat de
jobs
sectie de volgende standaardconfiguratie:directory: '${{ github.workspace }}'
. Deze regel geeft aan dat de volledige GitHub-vertakking zich in het pad voor de inhoudsimplementatie bevindt, zonder te filteren op mappaden.Als u alleen inhoud van een specifiek mappad wilt implementeren, voegt u deze toe aan zowel de
paths
als dedirectory
configuratie. Als u bijvoorbeeld alleen inhoud wilt implementeren vanuit een hoofdmap met de naamSentinelContent
, werkt u uw code als volgt bij: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'
Zie de GitHub-documentatie over GitHub Actions en het bewerken van GitHub-werkstromen voor meer informatie.
Belangrijk
Zorg ervoor dat u in zowel GitHub als Azure DevOps het triggerpad en de implementatiepadmappen consistent houdt.
Uw implementaties schalen met parameterbestanden
In plaats van parameters door te geven als inlinewaarden in uw inhoudsbestanden, kunt u overwegen een Bicep-parameterbestand of een JSON-bestand te gebruiken dat de parameterwaarden bevat. Wijs deze parameterbestanden vervolgens toe aan de bijbehorende Microsoft Sentinel-inhoudsbestanden om uw implementaties in verschillende werkruimten beter te schalen.
Er zijn verschillende manieren om parameterbestanden toe te wijzen aan de inhoudsbestanden. Houd er rekening mee dat Bicep-parameterbestanden alleen bicep-bestandssjablonen ondersteunen, maar JSON-parameterbestanden ondersteunen beide. De implementatiepijplijn voor opslagplaatsen houdt rekening met parameterbestanden in de volgende volgorde:
Is er een toewijzing in de sentinel-deployment.config?
Zie Uw verbindingsconfiguratie aanpassen voor meer informatie.Is er een parameterbestand dat aan de werkruimte is toegewezen? Ja, de inhoudsbestanden bevinden zich in dezelfde map met een door de werkruimte toegewezen parameterbestand dat overeenkomt met een van deze patronen:
<WorkspaceID.bicepparam.parameters-WorkspaceID><
>.jsonIs er een standaardparameterbestand? Ja, de inhoudsbestanden bevinden zich in dezelfde map met een parameterbestand dat overeenkomt met een van deze patronen:
.bicepparam
.parameters.json
Vermijd conflicten met meerdere werkruimte-implementaties door uw parameterbestanden toe te passen via het configuratiebestand of door de werkruimte-id in de bestandsnaam op te geven.
Belangrijk
Zodra een overeenkomend parameterbestand wordt bepaald op basis van de toewijzingsprioriteit, negeert de pijplijn alle resterende toewijzingen.
Als u het toegewezen parameterbestand wijzigt dat wordt vermeld in sentinel-deployment.config, wordt de implementatie van het gekoppelde inhoudsbestand geactiveerd. Het toevoegen of wijzigen van een door een werkruimte toegewezen parameterbestand of een standaardparameterbestand activeert ook een implementatie van de gekoppelde inhoudsbestanden, samen met de zojuist gewijzigde parameters, tenzij er een hogere prioriteitsparametertoewijzing is ingesteld. Andere inhoudsbestanden worden niet geïmplementeerd zolang de functie slimme implementaties nog steeds is ingeschakeld in het definitiebestand van de werkstroom/pijplijn.
Uw verbindingsconfiguratie aanpassen
Het implementatiescript voor opslagplaatsen ondersteunt het gebruik van een implementatieconfiguratiebestand voor elke opslagplaatsbranch vanaf juli 2022. Met het JSON-configuratiebestand kunt u parameterbestanden toewijzen aan relevante inhoudsbestanden, specifieke inhoud in implementaties prioriteren en specifieke inhoud uitsluiten van implementaties.
Maak het bestand sentinel-deployment.config in de hoofdmap van uw opslagplaats. Als u dit configuratiebestand toevoegt, verwijdert of wijzigt, wordt een volledige implementatie van alle inhoud in de opslagplaats geactiveerd volgens de bijgewerkte configuratie.
Voeg uw gestructureerde inhoud toe in drie optionele secties,
"prioritizedcontentfiles":
en"excludecontentfiles":
"parameterfilemappings":
. Als er geen secties zijn opgenomen of als het CONFIGURATIEbestand wordt weggelaten, wordt het implementatieproces nog steeds uitgevoerd. Ongeldige of niet-herkende secties worden genegeerd.
Hier volgt een voorbeeld van de volledige inhoud van een geldig sentinel-deployment.config-bestand . Dit voorbeeld vindt u ook in het voorbeeld van Microsoft Sentinel CICD-opslagplaatsen.
{
"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"
}
Notitie
Gebruik het teken Backslash '\' niet in een van de inhoudspaden. Gebruik in plaats daarvan de slash '/'.
Inhoudsbestanden prioriteren:
Naarmate de hoeveelheid inhoud in uw opslagplaats toeneemt, kunnen de implementatietijden toenemen. Voeg tijdgevoelige inhoud toe aan deze sectie om prioriteit te geven aan de implementatie wanneer er een trigger plaatsvindt.
Voeg volledige padnamen toe aan de
"prioritizedcontentfiles":
sectie. Jokertekens worden momenteel niet ondersteund.Als u inhoudsbestanden wilt uitsluiten, wijzigt u de
"excludecontentfiles":
sectie met volledige padnamen van afzonderlijke .json inhoudsbestanden.Parameters toewijzen:
Het implementatiescript accepteert drie methoden voor toewijzingsparameters, zoals beschreven in Uw implementaties schalen met parameterbestanden. Toewijzingsparameters via de sentinel-deployment.config hebben de hoogste prioriteit en garanderen dat een bepaald parameterbestand is toegewezen aan de bijbehorende inhoudsbestanden. Wijzig de
"parameterfilemappings":
sectie met de werkruimte-id van de doelverbinding en de volledige padnamen van afzonderlijke .json bestanden.
Gerelateerde inhoud
Er is een voorbeeldopslagplaats beschikbaar waarin het configuratiebestand voor de implementatie en alle drie de methoden voor parametertoewijzing worden gedemonstreerd. Zie het voorbeeld van Microsoft Sentinel CICD-opslagplaatsen voor meer informatie.