Présentation de la gestion des métadonnées

Cette page présente les concepts clés de la gestion des métadonnées et son importance dans une chaîne de livraison de logiciels sécurisée.

L'un des aspects d'une chaîne d'approvisionnement sécurisée consiste à suivre la durée de vie d'un artefact logiciel. Pour des raisons de conformité, ces informations de suivi peuvent être nécessaires même longtemps après l'arrêt de l'artefact. Pour ce faire, vous pouvez générer et stocker des métadonnées décrivant les événements importants concernant un artefact ou une ressource logicielle : une image de conteneur, une machine virtuelle ou un package logiciel.

Artifact Analysis vous permet de stocker des informations de métadonnées associées à une ressource. Ces métadonnées peuvent être récupérées ultérieurement pour auditer votre chaîne d'approvisionnement logicielle.

Comment Artifact Analysis stocke les métadonnées

Artifact Analysis est basé sur Grafeas, une API de métadonnées de composants Open Source qui peut servir de source de vérité centralisée pour le suivi et l'application des règles. Les outils de compilation, d'audit et de conformité peuvent utiliser Grafeas pour stocker, interroger et récupérer des métadonnées complètes sur les composants logiciels.

Comme Grafeas est Open Source, vous n'êtes pas lié à un fournisseur particulier. Grafeas associe les métadonnées à l'aide d'un identifiant logiciel unique. Il découple le stockage des artefacts, ce qui vous permet de stocker des métadonnées sur les composants de nombreux dépôts différents. Les mêmes principes s'appliquent à Artifact Analysis. Vous pouvez l'utiliser comme un magasin de métadonnées universel centralisé pour les composants logiciels dans Artifact Registry ou tout autre emplacement.

Le modèle Grafeas implique deux entités :

  • Un fournisseur qui crée des métadonnées stockées dans des notes.
  • Un client qui identifie si les métadonnées stockées dans une note s'appliquent à ses artefacts. Dans ce cas, les métadonnées sont représentées sous la forme d'une occurrence d'une note.

Remarque

Une note décrit une métadonnée de haut niveau. Par exemple, vous pouvez créer une note sur une faille particulière pour un package Linux. Vous pouvez également utiliser une note pour stocker des informations sur le compilateur d'un processus de compilation. Les fournisseurs qui effectuent l'analyse détiennent et créent généralement les notes. Les clients qui souhaitent utiliser les métadonnées peuvent ensuite identifier les occurrences des notes dans leurs projets.

Nous vous recommandons de stocker les notes et les occurrences dans des projets distincts, afin de bénéficier d'contrôle des accès plus précis.

Les notes doivent être disponibles en écriture uniquement pour le propriétaire, et en lecture seule pour les clients ayant accès aux occurrences qui y font référence.

Occurrence

Une occurrence représente le moment où une note a été trouvée sur un artefact logiciel. Elle peut être considérée comme une instanciation d'une note. Par exemple, une occurrence d'une note sur une faille décrit le package dans lequel la faille a été trouvée et les mesures correctives spécifiques. Une occurrence d'une note sur les détails de la compilation, quant à elle, décrit les images de conteneurs résultant d'une compilation.

En règle générale, les occurrences sont stockées dans des projets distincts de ceux où les notes sont créées. L'accès en écriture aux occurrences ne doit être accordé qu'aux utilisateurs autorisés à lier des notes aux occurrences. Tout utilisateur peut disposer d'un accès en lecture aux occurrences.

Types de métadonnées acceptés

Le tableau suivant répertorie les types de métadonnées compatibles avec Artifact Analysis. Les fournisseurs tiers de métadonnées peuvent stocker et récupérer tous les types de métadonnées suivants pour les images de leurs clients.

Type de métadonnées Utilisation dans les services Google Cloud
Failles fournit des informations sur les failles des fichiers audités. Artifact Analysis génère des occurrences de failles en fonction de bases de données externes sur les problèmes de sécurité divulgués publiquement.
Compilation : fournit des informations sur la provenance du build. Cloud Build génère ces métadonnées et Artifact Analysis stocke les informations si vous utilisez Cloud Build pour compiler l'image.
Package contient des informations sur les packages installés dans votre image.
Découverte : contient des informations sur l'analyse initiale des images. Artifact Analysis fournit ces informations uniquement pour les analyses de failles.
Attestation contient des informations sur la certification de l'image. Oui. L'autorisation binaire lit ces informations et peut les utiliser pour contrôler les déploiements.
L'évaluation des failles stocke une déclaration VEX importée au format note VulnerabilityAssessment Grafeas.
La référence SBOM fournit des métadonnées supplémentaires pour vous aider à localiser et à valider les SBOM.

Étapes suivantes