Analyser manuellement des packages Java

Ce guide de démarrage rapide vous explique comment extraire une image de conteneur, l'analyser manuellement avec l'analyse à la demande et récupérer les failles identifiées pour les packages système et Maven. Pour suivre ce guide de démarrage rapide, vous utiliserez Cloud Shell et un exemple d'image Alpine.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the On-Demand Scanning API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the On-Demand Scanning API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Télécharger et analyser une image

  1. Ouvrez une fenêtre Cloud Shell pour le projet.

    Ouvrir Cloud Shell

    Un terminal s'ouvre avec tous les outils requis pour suivre ce guide.

  2. Utilisez Docker pour extraire l'image de conteneur :

    docker pull jenkins:2.60.3-alpine
    
  3. Exécutez l'analyse :

    gcloud artifacts docker images scan jenkins:2.60.3-alpine --additional-package-types=MAVEN
    

    Cela déclenche le processus d'analyse et renvoie le nom de l'analyse une fois terminé :

    ✓ Scanning container image 
      ✓ Locally extracting packages and versions from local container image
      ✓ Remotely initiating analysis of packages and versions
      ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/1a6fd941-b997-4e5f-ba4f-6351f30e7dad]
    Done.
    
    done: true
    metadata:
      '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata
      createTime: '2021-01-26T13:43:53.112123Z'
      resourceUri: jenkins:2.60.3-alpine
    name: projects/my-project/locations/us/operations/1a6fd941-b99f-4eaf-ba4f-6e5af30e7dad
    response:
      '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse
      scan: projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
    
  4. Utilisez le nom de l'analyse, la valeur de scan dans la sortie, pour récupérer les résultats de l'analyse :

    gcloud artifacts docker images list-vulnerabilities \
    projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
    

    La sortie contient une liste des failles des packages Maven et Linux. Les failles des packages Maven peuvent être identifiées par le champ packageType:MAVEN.

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, procédez comme suit :

Si vous avez créé un projet pour ce guide, vous pouvez maintenant le supprimer.

  • Accédez à la page "Paramètres" (sous "IAM et administration") dans la Google Cloud console.

    Ouvrir la page "Paramètres"

  • Cliquez sur Sélectionner un projet.

  • Sélectionnez un projet que vous souhaitez supprimer, puis cliquez sur Ouvrir.

  • Cliquez sur Arrêter.

  • Saisissez l'ID du projet et cliquez sur Arrêter.

Étape suivante