Memindai paket Go secara otomatis
Pelajari cara mengaktifkan pemindaian otomatis, mengirim image container di Artifact Registry, dan melihat daftar kerentanan yang ditemukan dalam image.
Artifact Analysis memindai kerentanan setiap kali image dikirim ke Artifact Registry. Administrator platform dan developer aplikasi dapat menggunakan fitur pemindaian otomatis ini untuk membantu mengidentifikasi risiko dalam pipeline pengiriman software mereka.
Panduan memulai ini menggunakan paket sederhana yang tersedia secara publik untuk mendemonstrasikan satu jenis pemindaian paket. Secara default, Artifact Analysis memindai kerentanan dalam beberapa jenis paket setelah Anda mengaktifkan API pemindaian. Jenis paket yang didukung meliputi: OS, Go, Java (Maven), Python, dan Node.js (npm).
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
Create or select 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com -
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
Create or select 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com Buka halaman Repositories di konsol Google Cloud .
Klik Create Repository.
Di halaman Create Repository, masukkan setelan berikut:
- Nama:
quickstart-docker-repo
- Format: Docker
- Mode: Standar
- Location type: Region
- Region:
us-central1
- Nama:
Klik Buat.
Ubah ke direktori tempat Anda ingin menyimpan image container.
Salin gambar ke direktori lokal Anda. Misalnya, Anda dapat menggunakan Docker untuk menarik image Go terbaru dari Docker Hub.
docker pull golang:1.17.6-alpine
- PROJECT adalah Google Cloud
project ID Anda.
Jika project ID Anda berisi titik dua (
:
), lihat Project yang tercakup dalam domain. us-central1
adalah region repositori Artifact Registry.docker.pkg.dev
adalah nama host untuk repositori Docker.quickstart-image
adalah nama image yang ingin Anda gunakan di repositori. Nama image dapat berbeda dengan nama image lokal.tag1
adalah tag yang Anda tambahkan ke image Docker. Jika Anda tidak menentukan tag, Docker akan menerapkan tag defaultlatest
.Dapatkan daftar repositori.
Di daftar repositori, klik repositori.
Di daftar gambar, klik nama gambar.
Jumlah total kerentanan untuk setiap ringkasan gambar ditampilkan di kolom Kerentanan.
Untuk melihat daftar kerentanan pada image, klik link di kolom Kerentanan.
Bagian Hasil pemindaian menampilkan ringkasan jenis paket yang dipindai, total kerentanan, kerentanan dengan perbaikan yang tersedia, kerentanan tanpa perbaikan, dan tingkat keparahan efektif.
Tabel kerentanan mencantumkan nama Kerentanan dan Eksposur Umum (CVE) untuk setiap kerentanan yang ditemukan, tingkat keparahan efektif, skor Sistem Penskoran Kerentanan Umum (CVSS), perbaikan (jika tersedia), nama paket yang berisi kerentanan, dan jenis paket.
KonsolGoogle Cloud menampilkan hingga 1.200 kerentanan per halaman dalam tabel ini. Anda dapat memfilter dan mengurutkan file ini untuk memeriksa file, direktori, lapisan, atau jenis file tertentu menurut ekstensi file.
Untuk mengetahui detail CVE tertentu, klik nama CVE.
Untuk melihat detail kemunculan kerentanan seperti nomor versi dan lokasi yang terpengaruh, di baris dengan nama kerentanan, klik Lihat atau Lihat yang Diperbaiki. Teks link adalah Lihat untuk kerentanan tanpa perbaikan, dan Lihat yang Diperbaiki untuk kerentanan yang telah diperbaiki.
Di Artifact Registry, buka daftar repositori Anda.
Di halaman Repositori, klik repositori.
Di halaman Repository Details, klik gambar.
Dalam daftar versi gambar, klik ringkasan gambar.
Di halaman detail ringkasan gambar, klik tab Kerentanan.
Jika metadata berbasis lapisan tersedia, Analisis Artefak akan menampilkan daftar lapisan yang dapat dipilih di kolom Lapisan:
Untuk melihat daftar lapisan, klik menu drop-down lapisan.
Daftar drop-down akan terbuka, menampilkan daftar lapisan bernomor. Lapisan 0 mewakili lapisan bawah, dengan setiap lapisan berikutnya dibangun di atas lapisan sebelumnya. Hanya lapisan yang ditemukan kerentanannya yang ditampilkan.
Untuk setiap lapisan, Analisis Artefak menampilkan perintah Docker yang digunakan untuk membangun lapisan dan jumlah kerentanan yang ditemukan di lapisan tersebut.
Untuk mempelajari lebih lanjut kerentanan di lapisan tertentu, pilih lapisan dari daftar lapisan.
Tabel kerentanan diperbarui untuk menampilkan hanya kerentanan yang ditemukan di lapisan yang dipilih. Anda dapat menerapkan lebih banyak filter atau menyelidiki kerentanan tertentu.
Klik LIHAT atau LIHAT PERBAIKAN di samping kerentanan untuk melihat informasi kerentanan yang lebih mendetail.
Panel samping Detail kerentanan menampilkan lokasi file tempat paket memiliki kerentanan.
Pada tabel Lokasi file, arahkan kursor ke tanda tanya untuk membuka metadata lapisan tambahan.
Dialog menampilkan indeks lapisan, perintah build lapisan, ringkasan lapisan, dan image dasar tempat Anda dapat memperbaiki kerentanan.
Membuat repositori Docker di Artifact Registry
Buat repositori Docker untuk menyimpan image sampel untuk panduan memulai ini.
Anda akan melihat halaman Repositori. Repositori quickstart-docker-repo
Anda ditambahkan ke daftar repositori.
Mengonfigurasi autentikasi
Sebelum Anda dapat mengirim atau mengambil image dengan Artifact Registry, Anda harus mengonfigurasi Docker agar menggunakan Google Cloud CLI untuk mengautentikasi permintaan ke Artifact Registry.
Di Cloud Shell atau shell lokal Anda, siapkan autentikasi untuk repositori Docker di region us-central1
:
gcloud auth configure-docker us-central1-docker.pkg.dev
Mendapatkan paket
Beri tag pada paket Anda dengan nama repositori
Saat ingin mengirim paket ke Artifact Registry, Anda perlu mengonfigurasi perintah docker push
untuk mengirim image ke lokasi tertentu.
Jalankan perintah berikut untuk memberi tag pada image sebagai quickstart-image:tag1
:
docker tag golang:1.17.6-alpine \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Dengan:
Mengirim image ke Artifact Registry
Artifact Analysis secara otomatis memindai paket Go baru saat diupload ke Artifact Registry.
Untuk mengirim image Anda ke repositori Docker di Artifact Registry, jalankan perintah berikut:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ganti PROJECT dengan Google Cloud
project ID Anda.
Jika project ID Anda berisi titik dua (:
), lihat
Project yang tercakup dalam domain.
Melihat hasil pemindaian kerentanan
Untuk melihat kerentanan dalam image:
Melihat kerentanan di lapisan tertentu
Analisis Artefak menyediakan metadata khusus lapisan untuk membantu Anda mengidentifikasi paket mana yang berisi kerentanan, dan perintah build Docker mana yang memperkenalkan lapisan tersebut.
Untuk melihat metadata kerentanan berbasis lapisan di konsol Google Cloud :
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.
Jika Anda membuat project baru untuk panduan ini, Anda dapat menghapus project tersebut sekarang.Delete a Google Cloud project:
gcloud projects delete PROJECT_ID