Prozkoumání analýzy složení softwaru (SCA)

Dokončeno

Mezi dvě klíčové oblasti kanálu Secure DevOps patří správa balíčků a komponenty opensourcového softwarového operačního systému.

Správa balíčků

Stejně jako týmy používají správu verzí jako jediný zdroj pravdy pro zdrojový kód, Secure DevOps spoléhá na správce balíčků jako jedinečný zdroj binárních komponent.

Pomocí správy binárních balíčků může vývojový tým vytvořit místní mezipaměť schválených komponent a důvěryhodný kanál pro kanál kontinuální integrace (CI).

V Azure DevOps je Azure Artifacts nedílnou součástí pracovního postupu komponent pro uspořádání a sdílení přístupu k vašim balíčkům. Azure Artifacts umožňuje:

  • Udržujte artefakty uspořádané. Snadno sdílejte kód tím, že společně ukládáte balíčky Apache Maven, npm a NuGet. Balíčky můžete ukládat pomocí univerzálních balíčků, což eliminuje uchovávání binárních souborů v Gitu.
  • Chraňte své balíčky. Uchovávejte všechny veřejné zdrojové balíčky, které používáte (včetně balíčků z npmjs a NuGet .org), v informačním kanálu, kde ho můžete odstranit jenom vy a je zajištěná smlouvou o úrovni služeb Azure (SLA) na podnikové úrovni.
  • Integrujte bezproblémové zpracování balíčků do kanálu kontinuální integrace (CI) / Průběžného vývoje (CD). Snadný přístup ke všem artefaktům v buildech a verzích Azure Artifacts se nativně integruje s nástrojem CI/CD služby Azure Pipelines.

Další informace o službě Azure Artifacts najdete na webové stránce. Co jsou Azure Artifacts?

Verze a kompatibilita

Následující tabulka uvádí typy balíčků podporované službou Azure Artifacts. Zobrazí se také dostupnost jednotlivých balíčků v Azure DevOps Services .

Následující tabulka podrobně popisuje kompatibilitu jednotlivých balíčků s konkrétními verzemi Azure DevOps Serveru, dříve označovanými jako Team Foundation Server (TFS).

Funkce Služby Azure DevOps TFS
NuGet Ano TFS 2017
npm Ano Aktualizace TFS 2017 jedna a novější
Maven Ano Aktualizace TFS 2017 jedna a novější
Gradle Ano TFS 2018
Universal Ano No
Python Ano No

Balíčky Maven, npm a NuGet je možné podporovat u týmů libovolné velikosti z veřejných a privátních zdrojů. Azure Artifact se dodává s Azure DevOps, ale rozšíření je k dispozici také na webu Visual Studio Marketplace.

Screenshot of Azure DevOps with Artifacts highlighted in the menu pane.

Poznámka:

Po publikování konkrétní verze balíčku do informačního kanálu je toto číslo verze trvale vyhrazeno.

Poznámka:

Novější balíček revizí se stejným číslem verze nemůžete nahrát nebo odstranit tuto verzi a nahrát nový balíček se stejným číslem verze. Publikovaná verze je neměnná.

Role komponent operačního systému

Vývojová práce je produktivnější z důvodu široké dostupnosti opakovaně použitelných opensourcových softwarových komponent (OSS).

Tento praktický přístup k opakovanému použití zahrnuje moduly runtime, které jsou k dispozici v operačních systémech Windows a Linux, jako jsou Microsoft .NET Core a Node.js.

Opakované použití komponent operačního systému ale přináší riziko, že opakované závislosti můžou mít ohrožení zabezpečení. V důsledku toho mnoho uživatelů ve svých aplikacích najde ohrožení zabezpečení kvůli verzím balíčků Node.js, které využívají.

OSS nabízí novou koncepci nazvanou Analýza složení softwaru (SCA), která řeší tyto obavy týkající se zabezpečení, jak je znázorněno na následujícím obrázku.

Screenshot of an image of the workflow for safely creating open-source dependencies.

Při využívání komponenty OSS bez ohledu na to, jestli vytváříte nebo využíváte závislosti, budete obvykle chtít postupovat podle těchto kroků vysoké úrovně:

  1. Začněte nejnovější správnou verzí, abyste se vyhnuli starým chybám zabezpečení nebo zneužití licence.
  2. Ověřte, že součásti operačního systému jsou pro vaši verzi správné binární soubory. V kanálu verze ověřte binární soubory, abyste zajistili přesnost a zachovali trasovatelné faktury za materiály.
  3. Získejte oznámení o ohroženích zabezpečení součástí okamžitě, opravte je a znovu nasaďte komponentu automaticky, aby se vyřešilo ohrožení zabezpečení nebo zneužití licence z opakovaně používaného softwaru.