Eseguire automaticamente la scansione dei pacchetti Java

Scopri come abilitare la scansione automatica, eseguire il push di un'immagine container su Artifact Registry e visualizzare un elenco di eventuali vulnerabilità trovate nell'immagine.

Artifact Analysis esegue la scansione delle vulnerabilità ogni volta che viene eseguito il push di un'immagine su Artifact Registry. Gli amministratori della piattaforma e gli sviluppatori di applicazioni possono utilizzare questa funzionalità di scansione automatica per identificare i rischi nella pipeline di distribuzione del software.

Questa guida rapida utilizza un semplice pacchetto disponibile pubblicamente per dimostrare un tipo di scansione dei pacchetti. Per impostazione predefinita, Artifact Analysis esegue la scansione delle vulnerabilità in più tipi di pacchetti dopo aver abilitato l'API di scansione. I tipi di pacchetti supportati includono: sistema operativo, Go, Java (Maven), Python e Node.js (npm).

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l' resourcemanager.projects.create autorizzazione. Scopri come concedere i ruoli.
    • Crea un Google Cloud progetto:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il Google Cloud progetto che stai creando.

    • Seleziona il Google Cloud progetto che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del Google Cloud progetto.

  6. Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.

  7. Abilita le API Artifact Registry e Container Scanning:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l' serviceusage.services.enable autorizzazione. Scopri come concedere i ruoli.

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  8. Installa Google Cloud CLI.

  9. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  10. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  11. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l' resourcemanager.projects.create autorizzazione. Scopri come concedere i ruoli.
    • Crea un Google Cloud progetto:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il Google Cloud progetto che stai creando.

    • Seleziona il Google Cloud progetto che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del Google Cloud progetto.

  12. Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.

  13. Abilita le API Artifact Registry e Container Scanning:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l' serviceusage.services.enable autorizzazione. Scopri come concedere i ruoli.

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com

Crea un repository Docker in Artifact Registry

Crea un repository Docker per archiviare l'immagine di esempio per questa guida rapida.

  1. Apri la pagina Repository nella Google Cloud console.

    Apri la pagina Repositori

  2. Fai clic su Crea repository.

  3. Nella pagina Crea repository, inserisci le seguenti impostazioni:

    • Nome: quickstart-docker-repo
    • Formato: Docker
    • Modalità: Standard
    • Tipo di località: Regione
    • Regione: us-central1
  4. Fai clic su Crea.

Viene visualizzata la pagina Repository. Il repository quickstart-docker-repo viene aggiunto all'elenco dei repository.

Configura l'autenticazione

Prima di poter eseguire il push o il pull delle immagini con Artifact Registry, devi configurare Docker in modo che utilizzi Google Cloud CLI per autenticare le richieste ad Artifact Registry.

In Cloud Shell o nella shell locale, configura l'autenticazione per i repository Docker nella regione us-central1:

gcloud auth configure-docker us-central1-docker.pkg.dev

Ottieni un pacchetto

  1. Passa a una directory in cui vuoi salvare l'immagine container.

  2. Copia un'immagine nella directory locale. Ad esempio, puoi utilizzare Docker per eseguire il pull dell'ultima immagine Jenkins da Docker Hub.

    docker pull jenkins:2.60.3-alpine
    

Tagga il pacchetto con un nome repository

Quando vuoi eseguire il push di un pacchetto in Artifact Registry, devi configurare il comando docker push in modo che esegua il push dell'immagine in una posizione specifica.

Esegui il comando seguente per taggare l'immagine come quickstart-image:tag1:

docker tag jenkins:2.60.3-alpine \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Dove

  • PROJECT è l'ID Google Cloud progetto. Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
  • us-central1 è la regione del repository Artifact Registry.
  • docker.pkg.dev è il nome host per i repository Docker.
  • quickstart-image è il nome dell'immagine che vuoi utilizzare nel repository. Il nome dell'immagine può essere diverso dal nome dell'immagine locale.
  • tag1 è un tag che stai aggiungendo all'immagine Docker. Se non hai specificato un tag, Docker applicherà il tag predefinito latest.

Esegui il push dell'immagine ad Artifact Registry

Artifact Analysis esegue automaticamente la scansione delle nuove immagini quando vengono caricate in Artifact Registry.

Per eseguire il push dell'immagine nel repository Docker in Artifact Registry, esegui questo comando:

docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Sostituisci PROJECT con il tuo Google Cloud ID progetto. Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.

Visualizza i risultati analisi delle vulnerabilità

Libera spazio

Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il Google Cloud progetto con le risorse.

Se hai creato un nuovo progetto per questa guida, ora puoi eliminarlo.

  1. Nella Google Cloud console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi