Analyser automatiquement les packages de système d'exploitation
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 livraison de logiciels.
Ce guide de démarrage rapide utilise un package simple 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
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Artifact Registry et Container Scanning :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com -
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Artifact Registry et Container Scanning :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.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 dans la Google Cloud console.
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 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
Définissez le répertoire dans lequel vous souhaitez enregistrer votre image de conteneur.
Copiez votre image dans votre répertoire local. Par exemple, vous pouvez utiliser Docker pour extraire la dernière image Ubuntu 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
Où
- PROJECT correspond à votre Google Cloud
ID de projet.
Si l'ID du projet contient le signe deux-points (
:), consultez la section Projets à l'échelle du domaine. us-central1correspond à la région du dépôt Artifact Registry.docker.pkg.devcorrespond au nom d'hôte des dépôts Docker.quickstart-imagecorrespond au 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.tag1est 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 nouvelles images au fur et à mesure de leur téléchargement 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 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 :
Ouvrez la liste de vos dépôts Artifact Registry dans la console Artifact Analysis.
Dans la liste des dépôts, cliquez sur un dépôt.
Cliquez sur un nom d'image.
Une liste des condensés de votre image s'affiche.
Le nombre total de failles pour chaque condensé d'image est affiché dans la colonne Vulnerabilities (Failles).
Cliquez sur le nombre total de failles associé dans la colonne Vulnerabilities (Failles).
Une liste des failles s'affiche.
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.
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 Name (Nom).
Autres façons d'afficher les résultats
La Google Cloud console affiche jusqu'à 1 200 failles. 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 dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, supprimez le Google Cloud projet qui les contient.
Si vous avez créé un projet pour ce guide, vous pouvez maintenant le supprimer.- Dans la Google Cloud console, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez Arrêter pour supprimer le projet.