Analyser automatiquement les packages Python
Découvrez comment activer l'analyse automatique, transférer une image de conteneur vers Artifact Registry et afficher la liste des failles détectées dans l'image.
Artifact Analysis recherche des failles chaque fois qu'une image est transférée vers Artifact Registry. Les administrateurs de plate-forme et les développeurs d'applications peuvent utiliser cette fonctionnalité d'analyse automatique pour identifier les risques dans leur pipeline de livraison de logiciels.
Ce guide de démarrage rapide utilise un simple paquet public pour illustrer un type d'analyse de paquets. Par défaut, Artifact Analysis recherche des failles dans plusieurs types de packages une fois que vous avez activé l'API d'analyse. Les types de packages compatibles incluent OS, Go, Java (Maven), Python et Node.js (npm).
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com
Créer un dépôt Docker dans Artifact Registry
Créez un dépôt Docker pour stocker l'exemple d'image fourni dans ce guide de démarrage rapide.
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur Créer un dépôt.
Sur la page Créer un dépôt, saisissez les paramètres suivants:
- Nom :
quickstart-docker-repo
- Format: Docker
- Mode: standard
- Type d'emplacement: Région
- Région :
us-central1
- Nom :
Cliquez sur Créer.
La page Dépôts s'affiche. Votre dépôt quickstart-docker-repo
est ajouté à la liste des dépôts.
Configurer l'authentification
Avant de pouvoir stocker ou extraire des images avec Artifact Registry, vous devez configurer Docker afin qu'il se serve de la Google Cloud CLI pour authentifier les requêtes envoyées à Artifact Registry.
Dans Cloud Shell ou dans votre shell local, configurez l'authentification pour les dépôts Docker dans la région us-central1
:
gcloud auth configure-docker us-central1-docker.pkg.dev
Obtenir un package
Accédez au répertoire dans lequel vous souhaitez enregistrer votre image de conteneur.
Copiez une image dans votre répertoire local. Par exemple, vous pouvez utiliser TensorFlow. Cette image contient Python et présente certaines failles.
Le but de ce guide est uniquement de numériser une image et d'afficher les résultats. Aucune connaissance préalable de TensorFlow n'est requise.
Exécutez la commande suivante pour obtenir l'image:
docker pull amancevice/pandas:1.2.5-jupyter
Ajouter un tag de nom de dépôt à votre package
Lorsque vous souhaitez transférer un package vers Artifact Registry, vous devez configurer la commande docker push
pour transférer l'image vers un emplacement spécifique.
Exécutez la commande suivante pour ajouter des tags à l'image en tant que quickstart-image:tag1
:
docker tag amancevice/pandas:1.2.5-jupyter \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Où :
- PROJECT est votre ID de projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. us-central1
est la région du dépôt Artifact Registry.docker.pkg.dev
est le nom d'hôte des dépôts Docker.quickstart-image
est le nom d'image que vous souhaitez utiliser dans le dépôt. Le nom de l'image peut être différent du nom de l'image locale.tag1
est un tag que vous ajoutez à l'image Docker. Si vous ne spécifiez pas de tag, Docker applique le tag par défautlatest
.
Transférer l'image vers Artifact Registry
Artifact Analysis analyse automatiquement les nouveaux packages Python dans les images de conteneur lorsqu'ils sont importés dans Artifact Registry.
Pour transférer votre image vers votre dépôt Docker dans Artifact Registry, exécutez la commande suivante:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Remplacez PROJECT par l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.
Afficher les résultats de l'analyse des failles
Pour afficher les failles d'une image:
Obtenez la liste des dépôts.
Dans la liste des dépôts, cliquez sur un dépôt.
Dans la liste des images, cliquez sur un nom d'image.
Le nombre total de failles pour chaque récapitulatif d'image est affiché dans la colonne Vulnerabilities (Failles).
Pour afficher la liste des failles d'une image, cliquez sur le lien dans la colonne Vulnerabilities (Failles).
La section Résultats de l'analyse affiche un récapitulatif des types de packages analysés, du nombre total de failles, des failles avec des correctifs disponibles, des failles sans correctifs et de la gravité effective.
Le tableau des failles répertorie le nom de la faille CVE pour chaque faille détectée, la gravité effective, le score CVSS (Common Vulnerability Scoring System), les correctifs (le cas échéant), le nom du package contenant la faille et le type de package.
Vous pouvez filtrer et trier ces fichiers pour vérifier un fichier, un répertoire ou un type de fichier spécifique par extension de fichier.
La console Google Cloud affiche au maximum 1 200 vulnérabilités dans ce tableau. Si votre image comporte plus de 1 200 failles, vous devez utiliser gcloud ou l'API pour afficher la liste complète.
Pour en savoir plus sur une faille CVE spécifique, cliquez sur son nom.
Pour afficher les détails de l'occurrence de la faille, tels que le numéro de version et l'emplacement concerné, cliquez sur Afficher ou Afficher corrigé dans la ligne contenant le nom de la faille. Le texte du lien est Afficher pour les failles sans correctif et Afficher les failles corrigées pour les failles pour lesquelles un correctif a été appliqué.
Autres façons d'afficher les résultats
La console Google Cloud affiche au maximum 1 200 vulnérabilités. Si votre image comporte plus de 1 200 failles, vous devez utiliser gcloud ou l'API pour afficher la liste complète.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.
Si vous avez créé un projet pour ce guide, vous pouvez maintenant le supprimer.- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.