Eseguire la scansione manuale dei pacchetti Go
Questa guida rapida mostra come eseguire il pull di un'immagine container, eseguirne la scansione manuale con la scansione on demand e recuperare le vulnerabilità identificate per i pacchetti di sistema e Go. Per seguire questa guida rapida, utilizzerai Cloud Shell e un'immagine Alpine di esempio.
Prima di iniziare
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.
Scaricare ed eseguire la scansione di un'immagine
Apri Cloud Shell nel tuo progetto.
Si apre un terminale con tutti gli strumenti necessari per seguire questa guida.
Utilizza docker per eseguire il pull dell'immagine container:
docker pull golang:1.17.6-alpineEsegui la scansione:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GOViene attivato il processo di scansione e viene restituito il nome della scansione al termine:
✓ 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/849db1f8-2fb2-4559-9fe0-8720d8cd347c] Done. done: true metadata: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata createTime: '2022-01-11T16:58:11.711487Z' resourceUri: golang:1.16.13-alpine name: projects/my-project/locations/us/operations/f4adb1f8-20b2-4579-9fe0-8720d8cd347c response: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse scan: projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
Utilizza il nome della scansione, il valore di
scannell'output, per recuperare i risultati della scansione:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20efL'output contiene un elenco di vulnerabilità dei pacchetti Go, della libreria standard Go e di Linux. Le seguenti etichette indicano il tipo di vulnerabilità di Go:
packageType:GO_STDLIB. Vulnerabilità della libreria standard Go. Ciò indica che la vulnerabilità è stata rilevata nella toolchain Go utilizzata per creare il file binario o nella libreria standard inclusa nella toolchain. Una possibile correzione è l'upgrade della toolchain di build.packageType:GO. Vulnerabilità dei pacchetti Go. Ciò indica che la vulnerabilità è stata rilevata in un pacchetto di terze parti. Una possibile correzione è l'upgrade dei moduli dipendenti.
Libera spazio
Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.