Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
SEC11-BP05 Zentralisieren Sie Dienste für Pakete und Abhängigkeiten
Stellen Sie zentralisierte Services für Entwicklungsteams bereit, sodass sie Softwarepakete und andere Abhängigkeiten erhalten können. Dadurch können Pakete validiert werden, bevor sie in die von Ihnen geschriebene Software integriert werden, und es kann eine Datenquelle für die Analyse der Software bereitgestellt werden, die in Ihrer Organisation verwendet wird.
Gewünschtes Ergebnis: Software umfasst zusätzlich zum geschriebenen Code eine Reihe weiterer Softwarepakete. Dies macht es einfach, Implementierungen von Funktionen zu verwenden, die wiederholt verwendet werden, z. B. ein JSON Parser oder eine Verschlüsselungsbibliothek. Das logische Zentralisieren der Quellen und Abhängigkeiten für diese Pakete bietet einen Mechanismus für Sicherheitsteams, mit dem sie die Eigenschaften der Pakete validieren können, bevor sie verwendet werden. Dieser Ansatz verringert auch das Risiko, dass ein unerwartetes Problem durch die Änderung eines vorhandenen Pakets verursacht wird oder dass Entwicklungsteams willkürlich Pakete direkt aus dem Internet einschließen. Verwenden Sie diesen Ansatz zusammen mit manuellen und automatischen Tests, um das Vertrauen in die Qualität der entwickelten Software zu steigern.
Typische Anti-Muster:
-
Pakete werden willkürlich aus Repositorys im Internet abgerufen.
-
Neue Pakete werden nicht getestet, bevor sie für Entwickler verfügbar gemacht werden.
Vorteile der Nutzung dieser bewährten Methode:
-
Besseres Verständnis, welche Pakete in der entwickelten Software verwendet werden
-
Benachrichtigung von Workload-Teams, wenn ein Paket aktualisiert werden muss (basierend auf dem Verständnis davon, wer was verwendet)
-
Geringeres Risiko, dass ein Paket mit Problemen in Ihre Software eingeschlossen wird
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel
Implementierungsleitfaden
Stellen Sie zentralisierte Services für Pakete und Abhängigkeiten so bereit, dass sie von Entwicklern einfach verwendet werden können. Zentralisierte Services können logisch zentral sein, anstatt als monolithisches System implementiert zu werden. Mit diesem Ansatz können Sie Services anbieten, die die Anforderungen Ihrer Entwickler erfüllen. Sie sollten eine effiziente Methode zum Hinzufügen von Paketen zum Repository implementieren, wenn Aktualisierungen vorgenommen werden oder neue Anforderungen auftauchen. AWS Dienste wie AWS CodeArtifact
Implementierungsschritte:
Implementieren Sie einen logisch zentralisierten Repository-Service, der in allen Umgebungen, in denen die Software entwickelt wird, verfügbar ist.
Schließen Sie Zugriff auf das Repository als Komponente des AWS-Konto -Vergabeprozesses ein.
Entwickeln Sie eine Automatisierung zum Testen von Paketen, bevor diese in einem Repository veröffentlicht werden.
Pflegen Sie Metriken der am häufigsten verwendeten Pakete, Sprachen und Teams mit den häufigsten Änderungen.
-
Stellen Sie einen automatisierten Mechanismus für Entwicklerteams bereit, damit sie neue Pakete anfordern und Feedback geben können.
-
Scannen Sie regelmäßig Pakete in Ihrem Repository, um die Auswirkungen kürzlich entdeckter Probleme zu identifizieren.
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Videos:
Zugehörige Beispiele: