Analyser automatiquement les packages Python
Découvrez comment activer l'analyse automatique, transférer une image de conteneur sur Artifact Registry et afficher la liste des failles détectées dans l'image.
Artifact Analysis recherche les 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 déploiement de logiciels.
Ce guide de démarrage rapide utilise un package simple et accessible au public pour illustrer un type d'analyse de package. Par défaut, Artifact Analysis recherche les 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.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à gcloud CLI avec votre identité fédérée.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
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.
-
-
Verify 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.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à gcloud CLI avec votre identité fédérée.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
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.
-
-
Verify 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 Ouvrez la page Dépôts dans 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.
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 des failles.
- PROJECT est l' Google Cloud
ID de votre projet.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. us-central1
correspond à 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
.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 le nom d'une image.
Le nombre total de failles pour chaque résumé 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 pour lesquelles des correctifs sont disponibles, des failles sans correctifs et de la gravité effective.
Le tableau des failles répertorie le nom CVE (Common Vulnerabilities and Exposures) de 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 consoleGoogle Cloud affiche jusqu'à 1 200 failles 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 d'une occurrence de faille, tels que le numéro de version et l'emplacement concerné, cliquez sur Afficher ou Afficher corrigée dans la ligne contenant le nom de la faille. Le texte du lien est Afficher pour les failles sans correctif et Afficher les correctifs pour les failles auxquelles un correctif a été appliqué.
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.
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 transférer 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 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
L'objectif de ce guide est uniquement d'analyser 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ù :
Transférer l'image vers Artifact Registry
Artifact Analysis analyse automatiquement les nouveaux packages Python dans les images de conteneurs 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 votre Google Cloud
ID de projet.
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 :
Autres façons d'afficher les résultats
La console Google Cloud affiche jusqu'à 1 200 failles. 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.Delete a Google Cloud project:
gcloud projects delete PROJECT_ID