Analyser automatiquement les packages Java
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
- Connectez-vous à votre compte Google Cloud . 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 projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionnez 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 devez disposer 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 projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
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 Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. 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 projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionnez 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 devez disposer 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 projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
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 Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. 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 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 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
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 Docker pour extraire la dernière image Jenkins depuis Docker Hub.
docker pull jenkins:2.60.3-alpine
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 jenkins:2.60.3-alpine \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Où
- 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-central1correspond à la région du dépôt Artifact Registry.docker.pkg.devest le nom d'hôte des dépôts Docker.quickstart-imageest 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.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 lorsqu'elles sont importées 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
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , supprimez le projet Google Cloud qui les contient.
Si vous avez créé un projet pour ce guide, vous pouvez maintenant le supprimer.- Dans la console Google Cloud , 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 sur Arrêter pour supprimer le projet.