Konfigurieren der GitHub-Aktion von Microsoft Security DevOps
Microsoft Security DevOps ist eine Befehlszeilenanwendung, die statische Analysetools in den Entwicklungslebenszyklus integriert. Security DevOps installiert und konfiguriert die neuesten Versionen statischer Analysetools, z. B. SDL-, Sicherheits- und Compliancetools, und führt diese aus. Security DevOps ist datengesteuert mit portablen Konfigurationen, die eine deterministische Ausführung in mehreren Umgebungen ermöglichen.
Microsoft Security DevOps verwendet die folgenden Open Source-Tools:
Name | Sprache | Lizenz |
---|---|---|
Antischadsoftware | Antischadsoftware in Windows durch Microsoft Defender for Endpoint, die nach Malware scannt und den Build unterbricht, wenn Schadsoftware gefunden wurde. Dieses Tool scannt standardmäßig den windows-latest-Agent. | Nicht Open Source |
Bandit | Python | Apache License 2.0 |
BinSkim | Binary--Windows, ELF | MIT-Lizenz |
Checkov | Terraform, Terraform-Plan, CloudFormation, AWS SAM, Kubernetes, Helm-Diagramme, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM | Apache License 2.0 |
ESlint | JavaScript | MIT-Lizenz |
Template Analyzer | ARM-Vorlage, Bicep | MIT-Lizenz |
Terrascan | Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation | Apache License 2.0 |
Trivy | Containerimages, Infrastructure-as-Code (IaC) | Apache License 2.0 |
Azure-Abonnement: Sollten Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Stellen Sie eine Verbindung zu Ihren GitHub-Repositorys her.
Öffnen Sie die Microsoft Security DevOps GitHub-Aktion in einem neuen Fenster.
Stellen Sie sicher, dass im GitHub-Repository die Workflowberechtigungen auf Lesen und Schreiben festgelegt sind. Dies umfasst das Festlegen von „id-token: write“-Berechtigungen im GitHub-Workflow für den Partnerverbund mit Defender für Cloud.
So richten Sie die GitHub-Aktion ein:
Melden Sie sich bei GitHub an.
Wählen Sie ein Repository aus, für das Sie die GitHub-Aktion konfigurieren möchten.
Wählen Sie Actions aus.
Klicken Sie auf New workflow (Neuer Workflow).
Wählen Sie auf der Seite „Get started with GitHub Actions“ (Erste Schritte mit GitHub Actions) die Option zum Einrichten eines eigenen Workflows aus.
Geben Sie im Textfeld Titel einen Namen für die Workflowdatei ein. Beispiel:
msdevopssec.yml
.Kopieren Sie den folgenden Beispielaktionsworkflow und fügen Sie ihn in die Registerkarte „Edit new file“ (Neue Datei bearbeiten) ein.
name: MSDO on: push: branches: - main jobs: sample: name: Microsoft Security DevOps # Windows and Linux agents are supported runs-on: windows-latest permissions: contents: read id-token: write actions: read # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) security-events: write steps: # Checkout your code repository to scan - uses: actions/checkout@v3 # Run analyzers - name: Run Microsoft Security DevOps uses: microsoft/security-devops-action@latest id: msdo # with: # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub. # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all. # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all. # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts to Security tab # uses: github/codeql-action/upload-sarif@v3 # with: # sarif_file: ${{ steps.msdo.outputs.sarifFile }} # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts file as a workflow artifact # uses: actions/upload-artifact@v3 # with: # name: alerts # path: ${{ steps.msdo.outputs.sarifFile }}
Hinweis
Weitere Toolkonfigurationsoptionen und Anweisungen finden Sie im Wiki zu Microsoft Security DevOps
Klicken Sie auf Start commit (Commit starten).
Wählen Sie Commit new file (Neue Datei committen) aus. Beachten Sie, dass der Vorgang bis zu einer Minute dauern kann.
Wählen Sie Actions (Aktionen) aus, und überprüfen Sie, ob die neue Aktion ausgeführt wird.
So zeigen Sie die Überprüfungsergebnisse an:
Melden Sie sich bei Azure an.
Navigieren Sie zu „Defender for Cloud“ > „DevOps-Sicherheit“.
Im Blatt „DevOps-Sicherheit“ sollten innerhalb von Minuten dieselben MSDO-Sicherheitsergebnisse für das zugehörige Repository angezeigt werden, die Entwickler in ihren CI-Protokollen sehen. Kunden mit GitHub Advanced Security sehen auch die Ergebnisse, die von diesen Tools erfasst wurden.
Weitere Informationen zu GitHub-Aktionen für Azure.
Weitere Informationen zur Bereitstellung von Apps aus GitHub in Azure.
Erfahren Sie mehr über DevOps-Sicherheit in Defender for Cloud.
Erfahren Sie, wie Sie Ihre GitHub-Organisationen mit Defender for Cloud verbinden.