DevSecOps referenzimplementierungs-Workflow
Die Referenzarchitektur „ DevSecOps “ optimiert die Compliance und Audit-Bereitschaft durch die Verwendung von Bausteinen wie der Tekton-Aufgabenbibliothek und Toolchain-Vorlagen.
Da die Prozesse der kontinuierlichen Integration, der kontinuierlichen Bereitstellung und der kontinuierlichen Konformität standardisiert sind, können die Entwicklungsteams sicher sein, dass sie die besten Sicherheitsverfahren einhalten. Die DevSecOpsEine Methodik, die Sicherheitsvorkehrungen in den Lebenszyklus von Softwareentwicklung und -betrieb integriert. Ziel der Einbindung ist ein ausgewogenes Verhältnis von Geschwindigkeit und Sicherheit bei der Entwicklung. Referenzarchitektur bietet eine Reihe vordefinierter Toolchain-Vorlagen für kontinuierliche Integration, kontinuierliche Bereitstellung und kontinuierliche Compliance. Diese Vorlagen verwenden eine Gruppe von Toolintegrationen und anpassbaren Tekton-Referenzpipelines zum Erstellen von Builds, Durchführen von Scans, Vornehmen von Tests, Verwalten von Änderungen und zum Bereitstellen. Die Pipelinedefinitionen werden von IBM regelmäßig verwaltet und aktualisiert, es sei denn, Sie ändern die Standardeinstellung beim Erstellen der Toolchains.
Von den Tekton-Pipelines wird ein Framework angepasster Scripts bereitgestellt, durch deren Verwendung Sie die konforme und automatisierte Orchestrierung von Code- und Konfigurationsänderungen sicherstellen sicherstellen können. Die Pipelines können auch dabei helfen, einen Bestand von GitOps-Releases zu verwalten, während Nachweise und gespeichert werden, mit deren Hilfe prüffähige Änderungsanfragen generiert werden können.
Sie können die Pipelines verwenden, um anhand privater Tekton-Pipeline-Worker Bereitstellungen in Zielumgebungen in der öffentlichen Cloud (Public Cloud) oder in Hybrid-Zielumgebungen durchzuführen. Die Tekton-Pipelines werden zusammen mit einigen Benutzerscripts in vordefinierten Containerimages ausgeführt. Innerhalb der Grenzen der Tekton-Pipelines können Sie alles ausführen, was sich in Skripten erfassen lässt.
Frühzeitiger Integrationsansatz: kontinuierliche Integration, kontinuierlicher Einsatzentwurf
Das folgende Diagramm zeigt den Implementierungsworkflow und die Hauptfunktionen der DevSecOps-Architektur.
- Bei der Validierung von Pull- oder Mischanforderungen wird eine bestimmte Pipeline für Pull-Anforderungen verwendet, die den Status an die Pull-Anforderung zurückmeldet. Diese Funktion ermöglicht es Entwicklern, Probleme im Entwicklungszyklus frühzeitig zu finden.
- Die Integration wird durch eine kontinuierliche Integrationspipeline erreicht, die viele Kontrollen sofort implementiert und normalisierte Nachweise für diese Integrationen in einem Evidence Locker (COS Bucket) sammelt. Sie schreibt auch Metadaten für die Artefakte, die in einem Artefaktbestandsrepository bereitgestellt werden sollen, wodurch GitOps-Verfahren aktiviert werden.
- Die Bereitstellung erfolgt über eine kontinuierliche Bereitstellungspipeline, die Inhalte aus dem Artefaktbestand verarbeitet und Nachweise sammelt, um eine Änderungsanforderung für jede Bereitstellung zu erstellen. Es kann auch Compliance-Fakten aufzeichnen, und diese Fakten können anhand eines Compliance-Profils bewertet werden.
Im Rahmen einer kontinuierlichen Staging-Bereitstellung geben Continuous-Integration-Pipelines in der Regel die Änderungen mithilfe von Pull-Requests an den Bestandsmasterzweig weiter. Wenn die Änderungen bereit sind, werden sie anschließend vom Staging mit einer nachfolgenden Verzweigungsumstufung in die Produktion hochgestuft. Um ein koordiniertes Release-Deployment voranzutreiben, können Sie mehrere Continuous-Deployment-Pipelines einsetzen, die in ein gemeinsames Inventar und Evidence Locker ausgeben.
Werden in diesem Bestand mehrere Artefakte umgestuft, wird nur eine Änderungsanfrage erstellt.
Sie können mehrere kontinuierliche Bereitstellungspipelines einrichten, die auf ein gemeinsames Inventar und einen Evidence Locker zurückgreifen, wodurch mehrere Umgebungen über denselben kontinuierlichen Integrationsinput angesteuert werden können.