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.
| Anpassungsmethode | Behandelte Bereitstellungsoptionen |
|---|---|
| GitHub-Workflow DevOps-Pipeline |
Anpassen des Bereitstellungstriggers Ihrer Verbindung Anpassen des Bereitstellungspfads Aktivieren von intelligenten 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
Um eine Repositorybereitstellung anzupassen, muss eine Repositoryverbindung vorhanden sein. Weitere Informationen zum Erstellen der Verbindung finden Sie unter Bereitstellen von benutzerdefinierten Inhalten aus Ihrem Repository. Nachdem die Verbindung hergestellt wurde, gelten die folgenden Voraussetzungen:
- 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. Anpassen, um verschiedene Bereitstellungstrigger zu konfigurieren oder Inhalte ausschließlich aus einem bestimmten Stammordner bereitzustellen.
Wählen Sie je nach Verbindungstyp eine der folgenden Registerkarten aus:
So passen Sie Ihren GitHub-Bereitstellungsworkflow an:
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 Bereitstellungstrigger zu ändern, aktualisieren Sie den
onAbschnitt im Code, der das Ereignis beschreibt, das die Ausführung des Workflows 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 in der GitHub-Dokumentation zum Konfigurieren von Workflowereignissen.
So deaktivieren Sie intelligente Bereitstellungen: Das Verhalten intelligenter Bereitstellungen ist vom erläuterten Bereitstellungstrigger getrennt. Navigieren Sie zum
jobsAbschnitt Ihres Workflows. Ändern Sie densmartDeploymentStandardwert von infalsetrue. Nachdem diese Änderung committet wurde, wird die Intelligente Bereitstellung deaktiviert, und alle zukünftigen Bereitstellungen für diese Verbindung stellen alle relevanten Inhaltsdateien des Repositorys in den verbundenen Arbeitsbereichen erneut bereit.So ändern Sie den Bereitstellungspfad:
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 Bereitstellungsworkflow ausgelöst wird, wenn Inhalte an einen beliebigen Teil des Branchs gepusht werden.
Später in der Datei enthält der
jobsAbschnitt die folgende Standardkonfiguration:directory: '${{ github.workspace }}'. Diese Zeile gibt an, dass sich der gesamte GitHub-Branch im Pfad für die Inhaltsbereitstellung befindet, ohne nach Ordnerpfaden zu filtern.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'
Weitere Informationen finden Sie in der GitHub-Dokumentation zum GitHub Actions und Bearbeiten von GitHub-Workflows.
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 im Arbeitsbereich zugeordnete Parameterdatei? Ja, die Inhaltsdateien befinden sich im selben Verzeichnis mit einer im 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.
Erstellen Sie die Datei sentinel-deployment.config im Stammverzeichnis Ihres Repositorys. Das Hinzufügen, Löschen oder Ändern dieser Konfigurationsdatei löst eine vollständige Bereitstellung aller Inhalte im Repository gemäß der aktualisierten Konfiguration aus.
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 im Beispiel für Microsoft Sentinel CICD-Repositorys.
{
"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 den umgekehrten Schrägstrich "\" in keinem der Inhaltspfade. Verwenden Sie stattdessen den Schrägstrich "/".
So priorisieren Sie Inhaltsdateien:
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 Abschnitt mit den
"excludecontentfiles":vollständigen Pfadnamen einzelner .json Inhaltsdateien.So ordnen Sie Parameter zu:
Das Bereitstellungsskript akzeptiert drei Methoden für Zuordnungsparameter, wie unter Skalieren 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.
Verwandte Inhalte
Ein Beispielrepository ist verfügbar, das die Bereitstellungskonfigurationsdatei und alle drei Parameterzuordnungsmethoden veranschaulicht. Weitere Informationen finden Sie unter beispiel für Microsoft Sentinel CICD-Repositorys.