Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Er zijn twee belangrijke manieren om de implementatie van de inhoud van uw opslagplaats aan te passen aan Microsoft Sentinel werkruimten. Elke methode gebruikt verschillende bestanden en syntaxis, dus bekijk deze voorbeelden om aan de slag te gaan. Voordat u begint, moet u ervoor zorgen dat de vereiste verbindings- en implementatievereisten voor de opslagplaats aanwezig zijn.
| Aanpassingsmethode | Implementatieopties behandeld |
|---|---|
| GitHub-werkstroom DevOps-pijplijn |
De implementatietrigger van uw verbinding aanpassen Uw implementatiepad aanpassen Slimme implementaties inschakelen |
| Configuratiebestanden | De prioriteitsvolgorde van uw inhoudsimplementaties beheren Specifieke inhoudsbestanden uitsluiten van implementaties Implementaties opschalen in verschillende werkruimten door parameterbestanden te koppelen aan specifieke inhoudsbestanden |
Vereisten
Als u een implementatie van een opslagplaats wilt aanpassen, hebt u een bestaande opslagplaatsverbinding nodig. Zie Aangepaste inhoud implementeren vanuit uw opslagplaats om er een te maken. Nadat u de verbinding hebt gemaakt, moet u aan deze vereisten voldoen:
- Toegang van medewerkers tot uw GitHub-opslagplaats of projectbeheerdertoegang tot uw Azure DevOps-opslagplaats
- Acties ingeschakeld voor GitHub en Pijplijnen 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 De inhoud van uw opslagplaats plannen 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 in de opslagplaats. Pas de workflow of pipeline aan om verschillende deployment-triggers te configureren, of om content exclusief uit een specifieke rootmap te deployen.
Selecteer een van de volgende tabbladen, afhankelijk van uw verbindingstype:
Om je GitHub-implementatieworkflow aan te passen:
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 voor bewerking en wijzig de implementatie als volgt:
Om de deployment-trigger te wijzigen, werk je het
ongedeelte in de code bij, dat het event beschrijft dat de workflow activeert.Deze configuratie is standaard ingesteld op
on: push, wat betekent dat de werkstroom wordt geactiveerd bij elke push naar de verbonden vertakking, inclusief wijzigingen in bestaande inhoud en toevoegingen van nieuwe inhoud aan de opslagplaats. Bijvoorbeeld: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 te plannen dat de werkstroom periodiek wordt uitgevoerd of om verschillende werkstroom-gebeurtenissen samen te combineren.
Voor meer informatie, zie Workflow-events configureren in de GitHub-documentatie.
Om slimme implementaties uit te schakelen:
Slim deployment-gedrag wordt apart geconfigureerd van de workflow-trigger in de
onsectie. Navigeer naar dejobssectie van uw werkstroom. Schakel desmartDeploymentstandaardwaarde over vantruenaarfalse. Zodra deze wijziging is doorgevoerd, wordt de functionaliteit voor slimme implementatie uitgeschakeld en implementeren alle toekomstige implementaties voor deze verbinding alle relevante inhoudsbestanden van de opslagplaats opnieuw naar de verbonden werkruimten.Om het deploymentpad te wijzigen:
In de standaardconfiguratie die wordt weergegeven voor de
onsectie, geven de jokertekens (**) op de eerste regel in depathssectie aan dat de hele vertakking zich in het pad voor de implementatietriggers bevindt.Deze standaardconfiguratie betekent dat een deploymentworkflow wordt geactiveerd telkens wanneer die content naar een deel van de verbonden branch wordt gestuurd.
In de
jobssectie bevatdirectory: '${{ github.workspace }}'de standaardconfiguratie . Dedirectoryinstelling geeft aan dat de hele GitHub-tak in het pad voor de content-implementatie zit, zonder filter op mappaden.Als u inhoud alleen uit een specifiek mappad wilt deployen, voegt u deze toe aan zowel de configuratie
pathsals de configuratiedirectory. 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'
Voor meer informatie, zie de workflowsyntaxis van GitHub Actions voor padfilters in de GitHub-documentatie.
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 beter te schalen tussen verschillende werkruimten.
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 pijplijn voor de implementatie van opslagplaatsen houdt rekening met parameterbestanden in de volgende volgorde:
Is er een koppeling in sentinel-deployment.config?
Zie De configuratie van uw verbinding aanpassen voor meer informatie.Is er een parameterbestand dat aan de werkruimte is toegewezen? Ja, de contentbestanden bevinden zich in dezelfde map met een aan de werkruimte gekoppeld 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
Voorkom conflicten met meerdere werkruimte-implementaties door uw parameterbestanden toe te voegen via het configuratiebestand of de werkruimte-id op te geven in de bestandsnaam.
Belangrijk
Zodra een parameterbestandsovereenkomst is bepaald op basis van de toewijzingsprioriteit, negeert de pijplijn alle resterende toewijzingen.
Als u het toegewezen parameterbestand wijzigt dat wordt vermeld in de sentinel-deployment.config , wordt de implementatie van het gekoppelde inhoudsbestand geactiveerd. Als u een parameterbestand met een werkruimtetoewijzing of een standaardparameterbestand toevoegt of wijzigt, wordt ook een implementatie van de gekoppelde inhoudsbestanden samen met de zojuist gewijzigde parameters geactiveerd, tenzij er een hogere prioriteitsparametertoewijzing is ingesteld. Andere inhoudsbestanden worden niet geïmplementeerd zolang de functie voor 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.
Belangrijk
Als u het sentinel-deployment.config-bestand maakt, verwijdert of wijzigt, wordt een volledige implementatie van alle inhoud van de opslagplaats geactiveerd volgens de bijgewerkte configuratie.
Maak het bestand sentinel-deployment.config in de hoofdmap van uw opslagplaats.
Neem uw gestructureerde inhoud op in drie optionele secties,
"prioritizedcontentfiles":,"excludecontentfiles":en"parameterfilemappings":. Als er geen secties zijn opgenomen of als het .config-bestand 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 kunt u ook vinden 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"
}
Opmerking
Gebruik het backslashteken '\' niet in een van de inhoudspaden. Gebruik in plaats hiervan de slash '/'.
Om contentbestanden te 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 optreedt.
Voeg volledige padnamen toe aan de
"prioritizedcontentfiles":sectie. Het koppelen van jokertekens wordt momenteel niet ondersteund.Om contentbestanden uit te sluiten, wijzig je de
"excludecontentfiles":sectie met volledige padnamen van individuele .json contentbestanden.Om parameters in kaart te brengen:
Het implementatiescript accepteert drie methoden voor toewijzingsparameters (toewijzingen van configuratiebestanden, door werkruimte toegewezen parameterbestanden en standaardparameterbestanden), zoals beschreven in Implementaties schalen met parameterbestanden. Het toewijzen van parameters via de sentinel-deployment.config krijgt de hoogste prioriteit en garandeert dat een bepaald parameterbestand wordt gekoppeld aan de bijbehorende inhoudsbestanden. Wijzig de sectie met de
"parameterfilemappings":werkruimte-id van uw doelverbinding en de volledige padnamen van afzonderlijke .json bestanden.