IBM Cloud Docs
Logiciel Bill Of Materials

Logiciel Bill Of Materials

Un SBOM (Software Bill Of Materials) est un inventaire structuré de tous les composants, dépendances et licences d'une application logicielle. Il fournit des métadonnées détaillées, y compris les noms des composants, les versions, les licences, les vulnérabilités et les dépendances, aidant les organisations à suivre les logiciels libres et les logiciels tiers pour la sécurité, la conformité et la gestion des risques.

Vous pouvez facilement exporter votre SBOM dans des formats standardisés (SPDX, CycloneDX ) et importer des SBOM de tiers tout en utilisant les données VEX pour répondre aux exigences des gouvernements et des clients.

Au cours de l'exécution du pipeline, certains outils sont utilisés pour générer des SBOM. L'outil actuellement disponible pour générer un SBOM est le suivant :

Qu'est-ce qu'un SBOM?

Un SBOM de paquetage détaille toutes les informations relatives à tous les paquetages utilisés dans un projet de logiciel. Il fournit des informations sur les versions, les licences et les vulnérabilités de chaque paquetage utilisé. Les SBOM de paquets sont générés au niveau des microservices, un SBOM est généré pour chaque microservice dans une architecture.

Cycle de vie du SBOM

Le cycle de vie du SBOM s'étend sur toutes les étapes du déploiement des microservices (le pipeline CI,CD,CC).

  • Pipeline d'intégration continue (CI)- Pendant l'exécution du pipeline CI, un SBOM est généré pour chaque microservice construit.
  • Pipeline de déploiement continu (CD)- Pendant l'exécution du pipeline CD, un SBOM de libération est généré pour tous les microservices déployés.
  • Pipeline de conformité continue (CC)- Une fois l'exécution du pipeline CD terminée, le pipeline CC surveille en permanence l'application déployée. Pendant l'exécution du pipeline CC, les SBOM générés pour chaque microservice dans le pipeline CI sont récupérés et analysés.

Cycle de vie d'un SBOM
Cycle de vie d'un SBOM

Cycle de vie du SBOM dans le pipeline d'intégration continue

Le pipeline d'intégration continue construit les artefacts déployables à partir des référentiels d'application.

Lorsque le pipeline CI s'exécute à l'étape code-compliance-checks, CRA s'exécute et crée un SBOM de paquetage pour le référentiel à partir duquel l'artefact déployé est créé. Ce SBOM de paquets contient des informations sur les paquets qui sont utilisés par chaque microservice qui est construit dans le pipeline de CI. Il fournit des informations sur la licence, la version et les vulnérabilités de chaque paquet.

Ce SBOM est stocké dans le casier de preuves du pipeline en vue d'une utilisation ultérieure lors du déploiement en production.

Cycle de vie du SBOM dans le pipeline de déploiement continu

Le pipeline de déploiement continu rassemble toutes les preuves et génère le contenu du résumé de la demande de changement.

Lorsque le déploiement en production s'effectue via le pipeline CD, les SBOM des paquets stockés dans l'armoire à archives sont récupérés. Ces SBOM sont agrégés pour former un SBOM de libération. Le SBOM de la version est ajouté en tant que pièce jointe à la demande de modification.

Le cycle de vie du SBOM dans le pipeline de conformité continue

Le pipeline de conformité continue analyse périodiquement les artefacts déployés et leurs référentiels sources pour détecter les vulnérabilités, après le déploiement en production.

Lorsque le pipeline CC s'exécute, il récupère dans l'armoire à preuves le SBOM du paquet précédemment stocké qui a été généré lors de l'exécution du pipeline CI. Le pipeline CC ne recrée pas les SBOM du paquet.

Utilitaire SBOM pour la validation du SBOM

Lorsque le pipeline est exécuté, le document SBOM est ajouté en tant que pièce jointe à la preuve com.ibm.code_bom_check dans les formats standard et cyclonedx.

L'outil sbom-utility valide le SBOM en effectuant une série de vérifications par défaut et personnalisées pour voir si les métadonnées contiennent :

  • Un composant au niveau de la racine du SBOM qui contient des données
  • Un horodatage
  • name et bom-ref pour chaque champ de la composante

Pour collecter des preuves en vue de la validation du SBOM, définissez sbom-validation-collect-evidence sur 1. Les éléments de preuve sont collectés en tant que pièce jointe à com.ibm.code_bom_check avec le type d'élément de preuve et le type d'outil comme sbom-utility.

Pour plus d'informations, consultez la documentation de l'outil sbom-utility.