Verbessern der Compliance-Pipeline-Leistung in DevSecOps

Aktivieren Sie die Parallelität, um sicherzustellen, dass die Pipeline-Aufgaben in den Toolchains von „ DevSecOps “ gleichzeitig ausgeführt werden.

Vorbereitende Schritte

Verwenden Sie IBM-verwaltete Worker oder TAAS-verwaltete Worker direkt, da dies der vorausgesetzte Schritt ist.

Wenn Sie private Worker verwenden möchten, stellen Sie sicher, dass die Pipeline der Workerknoten Tekton Version v0.45 oder höher aufweisen muss. Weitere Informationen finden Sie unter Installationsanweisungen.

Gemeinsamen Zugriff in DevsecOps aktivieren

Führen Sie die folgenden Schritte aus DevsecOps, zu aktivieren:

  1. Rufen Sie die Seite Trigger Ihrer PR-oder CI-oder CD-oder CC-Pipeline auf.
  2. Klicken Sie im Repository-Eintrag auf das Symbol Aktionen Aktionssymbol und klicken Sie auf Bearbeiten.
  3. Aktualisieren Sie den Zweig auf open-v10 und klicken Sie auf Aktualisieren.

Pipeline-Definitionen
Pipeline-Definitionen

Struktur der PR-Pipeline

Die PR-Pipeline führt Konformitätsprüfungen für eine Pull-Anforderung für ein bestimmtes Anwendungsrepository aus und dient als Absicherung für die Zusammenführung in den Hauptzweig. Die PR-Pipeline wird durch Öffnen oder Aktualisieren einer Pull-Anforderung für den Hauptzweig ausgelöst.

Weitere Informationen finden Sie in der Dokumentation zur PR-Pipeline.

Phasen der PR-Pipeline-Struktur und Beschreibungen der einzelnen Phasen
Stage 'PR Pipeline' Phasenbeschreibung
code-pr-start Klonen Sie das GitHub-Repository in Verbindung mit der Pull-Anforderung.
code-setup Richten Sie Ihre Build-und Testumgebung ein, um die restlichen Pipeline-Phasen vorzubereiten.
code-detect-secrets Wird ausgeführt, um den Scan geheimer Schlüssel im Anwendungscode zu erkennen
code-unit-tests Führt Komponententests für Code aus, der der Bedarfsanforderung zugeordnet ist.
code-compliance-checks Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys.
code-pr-finish Konsolidiert den Pipelinestatus. Die Phase schlägt fehl, wenn die Konformitätsprüfungen der vorherigen Ausführung fehlschlagen. Diese Phase ist das "ausfallsichere" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann.

PR-Pipeline-Struktur
PR-Pipeline-Struktur

CI-Pipeline-Struktur

Die CI-Pipeline erstellt implementierbare Artefakte aus Anwendungsrepositorys. Es scannt, testet und signiert erstellte Artefakte und erfasst gleichzeitig Angaben für jede Phase, die im Bestand freigegeben und über das Implementierungs-und Änderungsmanagement verfolgt wird.

Weitere Informationen finden Sie in der Dokumentation zur CI-Pipeline.

Phasen der CI-Pipeline-Struktur und Beschreibungen der einzelnen Phasen
Stage: CI-Pipeline Phasenbeschreibung
code-ci-start Richten Sie die Pipeline-Umgebung ein, einschließlich des Klonens der Konfigurations-und Anwendungsrepositorys im lokalen Dateisystem der Pipeline.
code-setup Richten Sie Ihre Build-und Testumgebung ein, um die restlichen Pipeline-Phasen vorzubereiten.
code-detect-secrets Führt die Suche nach geheimen Schlüsseln für Anwendungscode aus.
code-unit-tests Führen Sie Komponententests und Anwendungstests für den Anwendungscode aus.
code-peer-review Peer-Überprüfung von Codeänderungen.
code-static-scan Führen Sie einen statischen Scan des Anwendungscodes durch.
code-compliance-checks Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys.
build-artifact Erstellen Sie die Artefakte und Images.
build-sign-artifact Erstellte Artefakte und Images signieren.
build-scan-artifact Scannen Sie das Container-Image mit Vulnerability Advisor.
deploy-dev Stellen Sie die durch den Build erstellten Artefakte in der Entwicklungsumgebung (dev) bereit.
code-dynamic-scan Führt den dynamischen OWASP-Zap-Scan für die Anwendung aus, die in einem Cluster bereitgestellt wird
deploy-acceptance-tests Führen Sie Akzeptanz- und Integrationstests für die bereitgestellten, durch den Build erstellten Artefakte in der Entwicklungsumgebung (dev) durch.
deploy-release Fügen Sie die erstellten Artefakte zum Bestand hinzu, der von der Pipeline Continuous Delivery verwendet wird.
code-ci-finish Sammeln und erstellen Sie Protokolldateien, Artefakte und Nachweise und laden Sie diese in das Nachweisschließfach hoch. Wenn eine der Konformitätsprüfungen. Diese Phase schlägt fehl, wenn sie zuvor in der Pipeline ausgeführt wurde. Diese Phase ist das "ausfallsichere" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann.

CI-Pipeline-Struktur
CI-Pipeline-Struktur

CD-Pipeline-Struktur

Die CD-Pipeline kompiliert den gesamten Inhalt für Angaben und die Zusammenfassung der Änderungsanforderung. Sie stellt den Build in einer Umgebung wie Staging oder Produktion bereit, während alle Angaben in das Angabenfach hochgeladen werden.

Weitere Informationen finden Sie in der Dokumentation zur CD-Pipeline.

Phasen der CD-Pipeline-Struktur und Beschreibungen der einzelnen Phasen
Stage: CD-Pipeline Phasenbeschreibung
prod-start Implementierungsdelta berechnen
prod-setup Richten Sie die Build-und Testumgebung ein
prod-verify-artifact Überprüft Signaturen von Images, die in der CI-Pipeline erstellt wurden.
prod-change-request Erstellung und Genehmigung von Änderungsanforderungen und Implementierungsstatus.
prod-deployment Implementieren Sie den Build in einer Umgebung.
prod-acceptance-tests Abnahmetests ausführen.
prod-finish Abnahmetests veröffentlichen, Datensatz implementieren, CycloneDX-SBOM erfassen und Änderungsanforderung schließen.

CD-Pipeline-Struktur
CD-Pipeline-Struktur

CC-Pipeline-Struktur

Die CC-Pipeline führt regelmäßige Scans für implementierte Artefakte und ihre Quellenrepositorys durch. Er überprüft den zuletzt implementierten Status im Bestand und erstellt oder aktualisiert Vorfallprobleme im Vorfallrepository.

Weitere Informationen finden Sie in der Dokumentation zur CC-Pipeline.

Phasen der CC-Pipeline-Struktur und Beschreibungen der einzelnen Phasen
Stage 'CC Pipeline' Phasenbeschreibung
cc-start Repository klonen, Bestand basierend auf Tag verarbeiten und Repositorys und Artefakte registrieren
cc-setup Richten Sie die Pipeline-Umgebung für die Scans in späteren Phasen ein. Dies kann die Installation von Buildabhängigkeiten oder die Ausführung von Maven-Builds umfassen
cc-detect-secrets Wird ausgeführt, um geheime Schlüssel in einem Anwendungscode zu scannen und zu erkennen.
cc-static-scan Statischen Scan-Code auf den Anwendungscode anwenden
cc-dynamic-scan Führt den dynamischen OWASP-Zap-Scan für die Anwendung aus, die in einem Cluster bereitgestellt wird.
cc-compliance-checks Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys.
cc-scan-artifact Scannen Sie das Container-Image mit Vulnerability Advisor.
cc-finish Sammeln und erstellen Sie Protokolldateien, Artefakte und Nachweise und laden Sie diese in das Nachweisschließfach hoch. Wenn eine der zuvor in der Pipeline ausgeführten Konformitätsprüfungen fehlschlägt, schlägt diese Phase fehl. Diese Phase hat ein "ausfallsicheres" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann.

CC-Pipeline-Struktur
CC-Pipeline-Struktur

Strukturen der Dev-Modus-Pipeline

Pipelines im Entwicklungsmodus werden nur zum Testen der Pipeline verwendet.

Ihnen fehlen die folgenden Funktionen:

  • Nachweiserfassung
  • Gating basierend auf Angaben.

Die Entwicklungsmoduspipelinestrukturen sind nicht produktionsbereit.

Dev-Modus PR-Pipeline-Struktur
Dev-Modus PR-Pipeline-Struktur

Dev-Modus CI-Pipeline-Struktur
Dev-Modus CI-Pipeline-Struktur

Gemeinsamen Zugriff in DevsecOps inaktivieren

Um die Parallelität in DevsecOps, führen Sie die folgenden Schritte aus:

  1. Rufen Sie die Seite Auslöser Ihrer PR-oder CI-oder CC-Pipeline auf.
  2. Klicken Sie auf das Symbol Aktionen Aktionssymbol für den Repositoryeintrag und wählen Sie Bearbeiten aus.
  3. Aktualisieren Sie die Verzweigung auf open-v9 und wählen Sie Aktualisieren aus.