Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es gibt zwei primäre Möglichkeiten, die Bereitstellung Ihrer Repositoryinhalte für Microsoft Sentinel Arbeitsbereiche anzupassen. Jede Methode verwendet unterschiedliche Dateien und Syntax. Betrachten Sie daher diese Beispiele, um Ihnen den Einstieg zu erleichtern. Bevor Sie beginnen, stellen Sie sicher, dass die erforderlichen Repositoryverbindungs- und Bereitstellungsvoraussetzungen vorhanden sind.
| Anpassungsmethode | Abgedeckte Bereitstellungsoptionen |
|---|---|
| GitHub-Workflow DevOps-Pipeline |
Passen Sie den Auslöser für die Bereitstellung Ihrer Verbindung an Bereitstellungspfad anpassen Aktivierung intelligenter Bereitstellungen |
| Konfigurationsdateien | Steuern der priorisierten Reihenfolge Ihrer Inhaltsbereitstellungen Auswählen des Ausschließens bestimmter Inhaltsdateien aus Bereitstellungen Skalieren von Bereitstellungen in verschiedenen Arbeitsbereichen durch Zuordnen von Parameterdateien zu bestimmten Inhaltsdateien |
Voraussetzungen
Zum Anpassen einer Repositorybereitstellung benötigen Sie eine vorhandene Repositoryverbindung. Informationen zum Erstellen eines Inhalts finden Sie unter Bereitstellen von benutzerdefinierten Inhalten aus Ihrem Repository. Stellen Sie nach dem Erstellen der Verbindung sicher, dass Sie diese Anforderungen erfüllen:
- Zugriff des Projektmitarbeiters auf Ihr GitHub-Repository oder Den Zugriff des Projektadministrators auf Ihr Azure DevOps-Repository
- Für GitHub aktivierte Aktionen und für Azure DevOps aktivierte Pipelines
- Stellen Sie sicher, dass benutzerdefinierte Inhaltsdateien, die Sie in Ihren Arbeitsbereichen bereitstellen möchten, in einem unterstützten Format vorliegen. Informationen zu unterstützten Formaten finden Sie unter Planen Ihres Repositoryinhalts.
Weitere Informationen zu bereitstellbaren Inhaltstypen finden Sie unter Planen Ihres Repositoryinhalts.
Anpassen des Workflows oder der Pipeline
Der Standardworkflow stellt nur Inhalte bereit, die seit der letzten Bereitstellung geändert wurden, basierend auf Commits im Repository. Passe den Workflow oder die Pipeline an, um verschiedene Deployment-Trigger zu konfigurieren oder Inhalte ausschließlich aus einem bestimmten Root-Ordner zu deployen.
Wählen Sie je nach Verbindungstyp eine der folgenden Registerkarten aus:
Um Ihren GitHub-Deployment-Workflow anzupassen:
Navigieren Sie in GitHub zu Ihrem Repository, und suchen Sie Ihren Workflow im Verzeichnis .github/workflows .
Die Workflowdatei ist die YML-Datei, die mit sentinel-deploy-xxxxx.yml beginnt. Öffnen Sie diese Datei, und der Workflowname wird in der ersten Zeile angezeigt und weist die folgende Standardbenennungskonvention auf:
Deploy Content to <workspace-name> [<deployment-id>].Beispiel:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]Wählen Sie oben rechts auf der Seite die Stiftschaltfläche aus, um die Datei zur Bearbeitung zu öffnen, und ändern Sie dann die Bereitstellung wie folgt:
Um den Deployment-Trigger zu ändern, aktualisieren Sie den
onAbschnitt im Code, der das Ereignis beschreibt, das den Workflow auslöst.Standardmäßig ist diese Konfiguration auf
on: pushfestgelegt. Dies bedeutet, dass der Workflow bei jedem Pushvorgang an den verbundenen Branch ausgelöst wird, einschließlich Änderungen an vorhandenen Inhalten und Ergänzungen neuer Inhalte zum Repository. Zum Beispiel:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`Ändern Sie diese Einstellungen, um z. B. die Ausführung des Workflows in regelmäßigen Abständen zu planen oder verschiedene Workflowereignisse miteinander zu kombinieren.
Weitere Informationen finden Sie unter Konfiguration von Workflow-Ereignissen in der GitHub-Dokumentation.
Um intelligente Deployments zu deaktivieren:
Das intelligente Deployment-Verhalten ist im Abschnitt
onseparat vom Workflow-Trigger konfiguriert. Navigieren Sie zumjobsAbschnitt Ihres Workflows. Ändern Sie densmartDeploymentStandardwert vontruezufalse. Nachdem diese Änderung übernommen wurde, wird die Funktion für intelligente Bereitstellungen deaktiviert, und bei allen zukünftigen Bereitstellungen für diese Verbindung werden alle relevanten Inhaltsdateien des Repositorys erneut in den verbundenen Arbeitsbereichen bereitgestellt.Um den Bereitstellungspfad zu ändern:
In der für den
onAbschnitt angezeigten Standardkonfiguration geben die Wildcards (**) in der ersten Zeile despathsAbschnitts an, dass sich der gesamte Branch im Pfad für die Bereitstellungstrigger befindet.Diese Standardkonfiguration bedeutet, dass ein Deployment-Workflow ausgelöst wird, sobald Inhalte an einen beliebigen Teil des verbundenen Zweigs gepusht werden.
Im
jobsAbschnitt enthältdirectory: '${{ github.workspace }}'die Standardkonfiguration . Die Einstellungdirectoryzeigt an, dass der gesamte GitHub-Branch im Pfad für die Inhaltsbereitstellung liegt, ohne dass auf Ordnerpfade gefiltert wird.Um Inhalte nur aus einem bestimmten Ordnerpfad bereitzustellen, fügen Sie ihn sowohl der
pathsKonfiguration als auch derdirectoryKonfiguration hinzu. Wenn Sie z. B. Inhalte nur aus einem Stammordner mit dem NamenSentinelContentbereitstellen möchten, aktualisieren Sie Ihren Code wie folgt: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 weitere Informationen siehe GitHub Actions Workflow-Syntax für Pfadfilter in der GitHub-Dokumentation.
Wichtig
Stellen Sie sowohl in GitHub als auch in Azure DevOps sicher, dass Sie den Triggerpfad und die Bereitstellungspfadverzeichnisse konsistent halten.
Skalieren Ihrer Bereitstellungen mit Parameterdateien
Anstatt Parameter als Inlinewerte in Ihren Inhaltsdateien zu übergeben, sollten Sie eine Bicep-Parameterdatei oder eine JSON-Datei verwenden, die die Parameterwerte enthält. Ordnen Sie diese Parameterdateien dann den zugeordneten Microsoft Sentinel Inhaltsdateien zu, um Ihre Bereitstellungen in verschiedenen Arbeitsbereichen besser zu skalieren.
Es gibt mehrere Möglichkeiten, den Inhaltsdateien Parameterdateien zuzuordnen. Beachten Sie, dass Bicep-Parameterdateien nur Bicep-Dateivorlagen unterstützen, JSON-Parameterdateien jedoch beides. Die Repositorybereitstellungspipeline berücksichtigt Parameterdateien in der folgenden Reihenfolge:
Gibt es eine Zuordnung im sentinel-deployment.config?
Weitere Informationen finden Sie unter Anpassen der Verbindungskonfiguration.Gibt es eine einem Arbeitsbereich zugeordnete Parameterdatei? Ja, die Inhaltsdateien befinden sich im selben Verzeichnis zusammen mit einer einem Arbeitsbereich zugeordneten Parameterdatei, die einem der folgenden Muster entspricht:
.<WorkspaceID>.bicepparam
.parameters-<WorkspaceID>.jsonGibt es eine Standardparameterdatei? Ja, die Inhaltsdateien befinden sich im selben Verzeichnis mit einer Parameterdatei, die einem der folgenden Muster entspricht:
.bicepparam
.parameters.json
Vermeiden Sie Konflikte mit mehreren Arbeitsbereichsbereitstellungen, indem Sie Ihre Parameterdateien über die Konfigurationsdatei zuordnen oder die Arbeitsbereichs-ID im Dateinamen angeben.
Wichtig
Sobald eine Parameterdatei-Übereinstimmung basierend auf der Zuordnungsrangfolge bestimmt wurde, ignoriert die Pipeline alle verbleibenden Zuordnungen.
Wenn Sie die im sentinel-deployment.config aufgelistete zugeordnete Parameterdatei ändern, wird die Bereitstellung der gekoppelten Inhaltsdatei ausgelöst. Das Hinzufügen oder Ändern einer im Arbeitsbereich zugeordneten Parameterdatei oder einer Standardparameterdatei löst auch eine Bereitstellung der gekoppelten Inhaltsdateien zusammen mit den neu geänderten Parametern aus, es sei denn, eine Parameterzuordnung mit höherer Rangfolge ist vorhanden. Andere Inhaltsdateien werden nicht bereitgestellt, solange das Feature für intelligente Bereitstellungen in der Workflow-/Pipelinedefinitionsdatei weiterhin aktiviert ist.
Anpassen der Verbindungskonfiguration
Das Bereitstellungsskript für Repositorys unterstützt die Verwendung einer Bereitstellungskonfigurationsdatei für jeden Repositorybranch ab Juli 2022. Mit der JSON-Konfigurationsdatei können Sie Parameterdateien relevanten Inhaltsdateien zuordnen, bestimmte Inhalte in Bereitstellungen priorisieren und bestimmte Inhalte aus Bereitstellungen ausschließen.
Wichtig
Das Erstellen, Löschen oder Ändern der sentinel-deployment.config Datei löst eine vollständige Bereitstellung aller Repositoryinhalte gemäß der aktualisierten Konfiguration aus.
Erstellen Sie die Datei sentinel-deployment.config im Stammverzeichnis Ihres Repositorys.
Fügen Sie Ihre strukturierten Inhalte in drei optionalen Abschnitten ein:
"prioritizedcontentfiles":,"excludecontentfiles":und"parameterfilemappings":. Wenn keine Abschnitte enthalten sind oder die .config-Datei ausgelassen wird, wird der Bereitstellungsprozess weiterhin ausgeführt. Ungültige oder nicht erkannte Abschnitte werden ignoriert.
Hier sehen Sie ein Beispiel für den gesamten Inhalt einer gültigen sentinel-deployment.config-Datei . Dieses Beispiel finden Sie auch unter Microsoft Sentinel CICD repositories sample.
{
"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"
}
Hinweis
Verwenden Sie das Backslash-Zeichen "\" nicht in den Inhaltspfaden. Verwenden Sie stattdessen den Schrägstrich "/".
Um Inhaltsdateien zu priorisieren:
Wenn die Menge an Inhalten in Ihrem Repository zunimmt, kann sich die Bereitstellungszeit erhöhen. Fügen Sie diesem Abschnitt zeitkritische Inhalte hinzu, um die Bereitstellung zu priorisieren, wenn ein Trigger auftritt.
Fügen Sie dem
"prioritizedcontentfiles":Abschnitt vollständige Pfadnamen hinzu. Der Abgleich von Wildcards wird derzeit nicht unterstützt.Um Inhaltsdateien auszuschließen, ändern Sie den
"excludecontentfiles":Abschnitt mit vollständigen Pfadnamen einzelner .json Inhaltsdateien.Um Parameter abzubilden:
Das Bereitstellungsskript akzeptiert drei Methoden der Zuordnungsparameter (Konfigurationsdateizuordnungen, dateien mit Arbeitsbereich zugeordneten Parametern und Standardparameterdateien), wie in der Skalierung Ihrer Bereitstellungen mit Parameterdateien beschrieben. Das Zuordnen von Parametern über die sentinel-deployment.config hat die höchste Priorität und garantiert, dass eine bestimmte Parameterdatei den zugeordneten Inhaltsdateien zugeordnet wird. Ändern Sie den Abschnitt mit der
"parameterfilemappings":Arbeitsbereichs-ID Ihrer Zielverbindung und den vollständigen Pfadnamen einzelner .json Dateien.