Analyser automatiquement les packages de l'OS

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

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Artifact Registry and Container Scanning APIs:

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. 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.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. 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.

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Cliquez sur Créer un dépôt.

  3. 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
  4. 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

  1. Accédez au répertoire dans lequel vous souhaitez enregistrer votre image de conteneur.

  2. Copiez votre image dans votre répertoire local. Par exemple, vous pouvez utiliser Docker pour extraire la dernière image Ubuntu à partir de Docker Hub.

    docker pull ubuntu:latest
    

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 ubuntu:latest \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

  • 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éfaut latest.

Transférer l'image vers Artifact Registry

Artifact Analysis analyse automatiquement les nouvelles images au fur et à mesure de leur importation dans Artifact Registry.

Pour transférer l'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:

  1. Ouvrez la liste de vos dépôts Artifact Registry dans la console d'Artifact Analysis.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur un dépôt.

  3. Cliquez sur un nom d'image.

    La liste des récapitulatifs de votre image s'affiche.

    Le nombre total de failles pour chaque récapitulatif d'image s'affiche dans la colonne Vulnerabilities (Failles).

    Capture d'écran d'une image avec des failles

  4. Cliquez sur le nombre total de failles associé dans la colonne Failles.

    Une liste de failles s'affiche.

    Capture d'écran d'une liste d'images et d'informations sur les failles

    La liste des failles indique le nombre de fois où cette image a été analysée, les niveaux de gravité des failles, la disponibilité d'un correctif, le nom du package contenant la faille et le type de package.

  5. Pour en savoir plus sur une faille spécifique à partir de la source de la faille, cliquez sur l'identifiant CVE associé dans la colonne Nom.

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, utilisez 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.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Étape suivante