Présentation de l'analyse des conteneurs

Artifact Analysis propose deux façons d'analyser les images : l'analyse automatique et l'analyse à la demande. Ce document décrit en détail les fonctionnalités des deux types d'analyse.

Artifact Analysis permet également de gérer les métadonnées. Pour savoir comment utiliser ensemble l'analyse et le stockage des métadonnées pour sécuriser votre pipeline CI/CD de bout en bout, consultez la présentation d'Artifact Analysis.

Consultez la page Tarifs pour en savoir plus sur les coûts associés à l'analyse des images de conteneurs.

Cette présentation suppose que vous savez déjà comment utiliser les dépôts Docker dans Artifact Registry ou Container Registry (obsolète).

Analyse automatique

Artifact Analysis recherche les éventuelles failles de vos artefacts dans Artifact Registry ou Container Registry (obsolète). Artifact Analysis identifie également les dépendances et les licences pour vous aider à comprendre la composition de votre logiciel.

L'analyse automatique comprend deux tâches principales : l'analyse à l'envoi et l'analyse continue.

Analyse push

Artifact Analysis analyse les nouvelles images au fur et à mesure de leur importation dans Artifact Registry ou Container Registry. Cette analyse extrait des informations sur les packages du conteneur. Les images ne sont analysées qu'une seule fois en fonction de leur condensé. Cela signifie que l'ajout ou la modification de tags ne déclenchent pas de nouvelles analyses.

Artifact Analysis ne détecte que les failles dans les packages surveillés publiquement pour détecter les failles de sécurité.

Lorsque l'analyse d'une image est terminée, le résultat de faille produit est l'ensemble des occurrences de faille pour cette image.

Analyse continue

Artifact Analysis crée des occurrences pour les failles détectées lors de l'importation de l'image. Une fois l'analyse initiale terminée, Artifact Registry surveille en permanence les métadonnées des images analysées dans Artifact Registry et Container Registry afin de détecter de nouvelles failles.

Artifact Analysis reçoit de nouvelles informations et des informations actualisées sur les failles provenant de sources de failles plusieurs fois par jour. Lorsque de nouvelles données sur les failles sont disponibles, Artifact Analysis met à jour les métadonnées des images analysées pour les actualiser. Artifact Analysis met à jour les occurrences de failles existantes, crée des occurrences de failles pour les nouvelles notes et supprime les occurrences de failles qui ne sont plus valides.

Artifact Analysis ne met à jour les métadonnées que pour les images transférées ou extraites au cours des 30 derniers jours. Au bout de 30 jours, les métadonnées ne seront plus mises à jour et les résultats seront obsolètes. De plus, Artifact Analysis archive les métadonnées obsolètes depuis plus de 90 jours. Elles ne sont alors plus disponibles dans la console Google Cloud , dans gcloud ni à l'aide de l'API. Pour lancer une nouvelle analyse d'une image avec des métadonnées obsolètes ou archivées, extrayez cette image. L'actualisation des métadonnées peut prendre jusqu'à 24 heures.

Listes de manifestes

Vous pouvez également utiliser l'analyse des failles avec les listes de manifestes. Une liste de manifestes est une liste de pointeurs vers des manifestes pour plusieurs plates-formes. Elles permettent à une seule image de fonctionner avec plusieurs architectures ou variantes d'un système d'exploitation.

L'analyse des failles Artifact Analysis n'est compatible qu'avec les images Linux amd64. Si votre liste de fichiers manifestes pointe vers plusieurs images Linux amd64, seule la première sera analysée. Si elle ne pointe vers aucune image Linux amd64, vous n'obtiendrez aucun résultat d'analyse.

Analyse à la demande

L'analyse à la demande vous permet d'analyser des images de conteneurs en local sur votre ordinateur ou dans votre registre à l'aide de la gcloud CLI. Vous pouvez ainsi personnaliser votre pipeline CI/CD en fonction du moment où vous devez accéder aux résultats des failles.

Types de packages acceptés

Lorsque vous transférez des images de conteneurs vers des dépôts Docker dans Artifact Registry, Artifact Analysis peut rechercher les failles dans plusieurs types de packages d'OS et de packages de langages d'application.

Container Registry est obsolète. Avec Container Registry, l'analyse automatique n'analyse que les packages OS. Si vous utilisez Container Registry, découvrez comment passer à Artifact Registry.

Les tableaux suivants comparent les types de packages qu'Artifact Analysis peut analyser avec chaque service d'analyse :

Packages d'OS compatibles

Analyse automatique avec Artifact Registry Analyse automatique avec Container Registry (Obsolète) Analyse à la demande
AlmaLinux OS
Alpine
CentOS
Carter de chaîne
Debian
Google Distroless
Red Hat Enterprise Linux (RHEL)
Red Hat Universal Base Image (UBI)
Rocky Linux
SUSE Linux Enterprise Server (SLES)
Ubuntu
Wolfi

Modules linguistiques d'application compatibles

Analyse automatique avec Artifact Registry Analyse automatique avec Container Registry (Obsolète) Analyse à la demande
Packages Go
Packages Java
Packages Node.js
Packages PHP
Packages Python
Packages Ruby
Packages Rust
Packages .NET

Artifact Analysis n'analyse les packages de langage d'application dans Artifact Registry que lorsqu'ils sont conteneurisés et stockés dans un dépôt au format Docker. Les autres formats de dépôt Artifact Registry ne sont pas acceptés.

Pour en savoir plus sur les fonctionnalités disponibles pour chaque produit Registry, consultez le tableau comparatif.

Artifact Analysis n'est pas compatible avec les conteneurs Windows Server.

Interfaces Artifact Analysis

Dans la console Google Cloud , vous pouvez afficher les failles et les métadonnées des images pour les conteneurs dans Artifact Registry.

Vous pouvez utiliser la gcloud CLI pour afficher les failles et les métadonnées des images.

Vous pouvez également utiliser l'API REST Artifact Analysis pour effectuer l'une de ces actions. Comme pour les autres API Cloud Platform, vous devez autoriser l'accès à l'aide d'OAuth2. Une fois authentifié, vous pouvez également utiliser l'API pour créer des notes et des occurrences personnalisées, et afficher les occurrences de failles.

L'API Artifact Analysis est compatible avec gRPC et REST/JSON. Vous pouvez envoyer des appels à l'API à l'aide des bibliothèques clientes ou de cURL pour REST/JSON.

Contrôler le déploiement d'images contenant des failles

Vous pouvez intégrer Artifact Analysis à l'autorisation binaire pour créer des attestations, ce qui peut empêcher les images de conteneurs présentant des problèmes de sécurité connus de s'exécuter dans votre environnement de déploiement.

Vous pouvez également utiliser l'autorisation binaire pour créer une liste d'autorisation de failles en fonction des informations sur les failles fournies par Artifact Analysis dans le cadre de votre déploiement. Si les failles enfreignent la règle de la liste d'autorisation, vous recevrez une alerte.

Enfin, vous pouvez utiliser l'analyse à la demande pour bloquer et faire échouer les compilations en fonction de la gravité des failles détectées.

Sources de failles

La section suivante liste les sources de failles qu'Artifact Analysis utilise pour obtenir les données CVE.

Analyses des packages OS

Artifact Analysis utilise les sources suivantes :

Analyses des packages de langages

Artifact Analysis permet d'analyser les failles des packages de langage dans une image de conteneur. Les données sur les failles proviennent de la base de données GitHub Advisory.

Dans la plupart des cas, chaque faille se voit attribuer un ID CVE, qui devient l'identifiant principal de cette faille. Dans les cas où aucun ID CVE n'est attribué à une faille, un ID GHSA est attribué à la place. Si cette faille obtient ultérieurement un ID CVE, l'ID de la faille est mis à jour pour correspondre à la CVE. Pour en savoir plus, consultez Rechercher une faille de sécurité spécifique dans un projet.

Versions d'OS compatibles

Artifact Analysis est compatible avec l'analyse des failles pour les versions suivantes de logiciels de système d'exploitation :

  • AlmaLinux OS – Versions 8, 9 et versions mineures
  • Alpine Linux - Versions: 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21
  • CentOS : versions 6, 7, 8 et versions mineures
  • Chainguard : mises à jour continues sur un canal de version unique.
  • Debian GNU/Linux - Versions: 11, 12, 13
  • Red Hat Enterprise Linux (RHEL) : les versions 7, 8 et 9, ainsi que les versions mineures, sont compatibles avec les analyses automatiques du registre.
  • Red Hat Universal Base Image (UBI) : versions 8 et 9, et versions mineures
  • Rocky Linux : versions 8, 9 et versions mineures
  • SUSE Linux Enterprise Server (SLES) : versions 12, 15 et versions mineures ; SLES pour SAP est également compatible avec les mêmes versions
  • Ubuntu : versions 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10
  • Wolfi : mises à jour continues sur une seule version.

Limites

  • La fonction principale d'Artifact Analysis est d'analyser et de détecter les failles dans les conteneurs, et de les rendre visibles pour votre organisation. Artifact Analysis ne prétend pas identifier les caractéristiques des images qui pourraient augmenter ou diminuer la capacité de votre organisation à vérifier l'intégrité ou la fiabilité d'une image. Pour renforcer cette confiance, Google propose des solutions que vous pouvez utiliser individuellement ou de manière combinée. En savoir plus sur notre approche de la sécurité de la chaîne d'approvisionnement logicielle

  • Artifact Analysis fournit des résultats d'analyse des failles pour RHEL en fonction de la dernière version mineure de chaque version majeure publiée. Les résultats de l'analyse peuvent être inexacts pour les anciennes versions mineures de RHEL.

  • La version 9 de RHEL n'est pas compatible avec l'analyse à la demande.

Gestionnaires de packages et gestion sémantique des versions

Étapes suivantes