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.
Sie können Microsoft Security DevOps einrichten, um Ihr verbundenes GitHub-Repository oder Azure DevOps-Projekt zu scannen. Verwenden Sie eine GitHub-Aktion oder eine Azure DevOps-Erweiterung, um Microsoft Security DevOps nur in Ihrem Quellcode (Infrastructure as Code, IaC) auszuführen, und verringern Sie die Pipelinelaufzeit.
In diesem Artikel erfahren Sie, wie Sie eine YAML-Vorlagenkonfigurationsdatei anwenden, um Ihr verbundenes Repository oder Projekt speziell auf Sicherheitsprobleme bei IaC mithilfe von Microsoft Security DevOps-Regeln prüfen zu lassen.
Voraussetzungen
- Richten Sie für Microsoft Security DevOps die GitHub-Aktion oder die Azure DevOps-Erweiterung basierend auf Ihrem Quellcodeverwaltungssystem ein:
- Wenn sich Ihr Repository in GitHub befindet, richten Sie die Microsoft Security DevOps GitHub-Aktion ein.
- Wenn Sie Ihren Quellcode in Azure DevOps verwalten, richten Sie die Microsoft Security DevOps Azure DevOps-Erweiterung ein.
- Stellen Sie sicher, dass Sie über eine IaC-Vorlage in Ihrem Repository verfügen.
Einrichten und Ausführen einer GitHub-Aktion zum Scannen des verbundenen IaC-Quellcodes
So richten Sie eine Aktion ein und zeigen Die Scanergebnisse in GitHub an:
Melden Sie sich bei GitHub an.
Wechseln Sie zur Hauptseite Ihres Repositorys.
Wählen Sie im Dateiverzeichnis github-Workflows>>msdevopssec.yml aus.
Weitere Informationen zum Arbeiten mit einer Aktion in GitHub finden Sie unter "Voraussetzungen".
Wählen Sie das Symbol "Diese Datei bearbeiten " (Bleistift) aus.
Fügen Sie im Abschnitt "Run Analyzers" der YAML-Datei den folgenden Code hinzu:
with: categories: 'IaC'Hinweis
Bei Werten ist auf die Groß-/Kleinschreibung zu achten.
Ein Beispiel:
Wählen Sie Änderungen committen . . . aus.
Wählen Sie Änderungen übernehmen.
(Optional) Fügen Sie Ihrem Repository eine IaC-Vorlage hinzu. Wenn Sie bereits über eine IaC-Vorlage in Ihrem Repository verfügen, überspringen Sie diesen Schritt.
Führen Sie z. B. einen Commit für eine IaC-Vorlage durch, mit der Sie eine einfache Linux-Webanwendung bereitstellen können.
Wählen Sie die Datei azuredeploy.json aus.
Wählen Sie Raw.
Kopieren Sie alle Informationen in der Datei, wie im folgenden Beispiel:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "webAppName": { "type": "string", "defaultValue": "AzureLinuxApp", "metadata": { "description": "The base name of the resource, such as the web app name or the App Service plan." }, "minLength": 2 }, "sku": { "type": "string", "defaultValue": "S1", "metadata": { "description": "The SKU of the App Service plan." } }, "linuxFxVersion": { "type": "string", "defaultValue": "php|7.4", "metadata": { "description": "The runtime stack of the current web app." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The location for all resources." } } }, "variables": { "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]", "appServicePlanName": "[concat('AppServicePlan-', parameters('webAppName'))]" }, "resources": [ { "type": "Microsoft.Web/serverfarms", "apiVersion": "2020-06-01", "name": "[variables('appServicePlanName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('sku')]" }, "kind": "linux", "properties": { "reserved": true } }, { "type": "Microsoft.Web/sites", "apiVersion": "2020-06-01", "name": "[variables('webAppPortalName')]", "location": "[parameters('location')]", "kind": "app", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]" ], "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", "siteConfig": { "linuxFxVersion": "[parameters('linuxFxVersion')]" } } } ] }Wechseln Sie in Ihrem GitHub-Repository zum Ordner ".github/workflows ".
Wählen Sie "Datei>hinzufügen" aus.
Geben Sie einen Namen für die Datei ein.
Fügen Sie die kopierten Informationen in die Datei ein.
Wählen Sie "Commit für neue Datei ausführen" aus.
Die Vorlagendatei wird Ihrem Repository hinzugefügt.
Überprüfen Sie, ob der Microsoft Security DevOps-Scan abgeschlossen ist:
Wählen Sie für das Repository "Aktionen" aus.
Wählen Sie den Workflow aus, um den Aktionsstatus anzuzeigen.
Um die Ergebnisse des Scans anzuzeigen, wechseln Sie zu Defender für Cloud>DevOps-Sicherheit (keine GHAS-Voraussetzung ) oder>Sicherheitscodeüberprüfungswarnungen nativ in GitHub (erfordert GHAS-Lizenz).
Einrichten und Ausführen einer Azure DevOps-Erweiterung zum Scannen des verbundenen IaC-Quellcodes
So richten Sie eine Erweiterung ein und zeigen die Scanergebnisse in Azure DevOps an:
Melden Sie sich bei Azure DevOps an.
Wählen Sie Ihr Projekt aus.
Wählen Sie "Pipelines" aus.
Wählen Sie die Pipeline aus, in der Ihre Azure DevOps-Erweiterung für Microsoft Security DevOps konfiguriert ist.
Wählen Sie "Pipeline bearbeiten" aus.
Fügen Sie in der Pipeline-YAML-Konfigurationsdatei unter der
displayNameZeile für die aufgabe MicrosoftSecurityDevOps@1 diesen Code hinzu:inputs: categories: 'IaC'Ein Beispiel:
Wählen Sie Speichern aus.
(Optional) Fügen Sie Ihrem Azure DevOps-Projekt eine IaC-Vorlage hinzu. Wenn Sie bereits über eine IaC-Vorlage in Ihrem Projekt verfügen, überspringen Sie diesen Schritt.
Wählen Sie aus, ob Sie direkt in den Haupt-Branch committen oder einen neuen Branch für den Commit erstellen möchten, und wählen Sie dann Speichern aus.
Um die Ergebnisse des IaC-Scans anzuzeigen, wählen Sie "Pipelines" und dann die von Ihnen geänderte Pipeline aus.
Für weitere Details wählen Sie eine bestimmte Pipelineausführung aus.
Anzeigen von Details und Wartungsinformationen für angewendete IaC-Regeln
Die IaC-Scantools, die in Microsoft Security DevOps enthalten sind , sind Template Analyzer (PSRule ist in Template Analyzer enthalten), Checkov und Terrascan.
Template Analyzer führt Regeln für Azure Resource Manager-Vorlagen (ARM-Vorlagen) und Bicep-Vorlagen aus. Weitere Informationen finden Sie in den Vorlagenanalyseregeln und Wartungsdetails.
Terrascan führt Regeln für ARM-Vorlagen und -Vorlagen für CloudFormation, Docker, Helm, Kubernetes, Kustomize und Terraform aus. Weitere Informationen finden Sie in den Terrascan-Regeln.
Chekov führt Regeln für ARM-Vorlagen und -Vorlagen für CloudFormation, Docker, Helm, Kubernetes, Kustomize und Terraform aus. Weitere Informationen finden Sie in den Checkov-Regeln.
Weitere Informationen zu den IaC-Scantools, die in Microsoft Security DevOps enthalten sind, finden Sie unter:
Verwandte Inhalte
In diesem Artikel haben Sie erfahren, wie Sie eine GitHub-Aktion und eine Azure DevOps-Erweiterung für Microsoft Security DevOps einrichten, um nach Sicherheitsfehlern von IaC zu suchen und die Ergebnisse anzuzeigen.
So erhalten Sie weitere Informationen:
- Weitere Informationen zu DevOps-Sicherheit
- Erfahren Sie, wie Sie Ihr GitHub-Repository mit Defender for Cloud verbinden.
- Erfahren Sie, wie Sie Ihr Azure DevOps-Projekt mit Defender for Cloud verbinden.