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 menunjukkan 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

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Artifact Registry and Container Scanning APIs:

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • 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.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Artifact Registry and Container Scanning APIs:

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

Membuat repositori Docker di Artifact Registry

Buat repositori Docker untuk menyimpan image sampel untuk panduan memulai ini.

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik Create Repository.

  3. Di halaman Create Repository, masukkan setelan berikut:

    • Nama: quickstart-docker-repo
    • Format: Docker
    • Mode: Standar
    • Location type: Region
    • Region: us-central1
  4. Klik Create.

Anda akan melihat halaman Repositori. Repositori quickstart-docker-repo Anda ditambahkan ke daftar repositori.

Mengonfigurasi autentikasi

Sebelum 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

  1. Ubah ke direktori tempat Anda ingin menyimpan image container.

  2. Salin gambar ke direktori lokal Anda. Misalnya, Anda dapat menggunakan Docker untuk mengambil image Go terbaru dari Docker Hub.

    docker pull golang:1.17.6-alpine
    

Memberi tag pada paket dengan nama repositori

Jika 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 keterangan:

  • PROJECT adalah project ID Google Cloud Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan 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 gambar dapat berbeda dengan nama gambar lokal.
  • tag1 adalah tag yang Anda tambahkan ke image Docker. Jika Anda tidak menentukan tag, Docker akan menerapkan tag default latest.

Mengirim image ke Artifact Registry

Artifact Analysis secara otomatis memindai paket Go baru saat diupload ke Artifact Registry.

Untuk mengirim image 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 project ID Google Cloud Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.

Melihat hasil pemindaian kerentanan

Untuk melihat kerentanan dalam image:

  1. Mendapatkan daftar repositori.

    Buka halaman Repositori

  2. Di daftar repositori, klik repositori.

  3. Di daftar gambar, klik nama gambar.

    Jumlah total kerentanan untuk setiap ringkasan gambar ditampilkan di kolom Vulnerabilities.

    Screenshot gambar dengan kerentanan

  4. Untuk melihat daftar kerentanan image, klik link di kolom Vulnerabilities.

    Bagian Hasil pemindaian menampilkan ringkasan jenis paket yang dipindai, total kerentanan, kerentanan dengan perbaikan yang tersedia, kerentanan tanpa perbaikan, dan tingkat keparahan yang efektif.

    Screenshot bagian Hasil Pemindaian dengan kerentanan, perbaikan, dan tingkat keparahan yang efektif

    Tabel kerentanan mencantumkan nama Common Vulnerabilities and Exposures (CVE) untuk setiap kerentanan yang ditemukan, keparahan efektif, skor Common Vulnerability Scoring System (CVSS), perbaikan (jika tersedia), nama paket yang berisi kerentanan, dan jenis paket.

    Anda dapat memfilter dan mengurutkan file ini untuk memeriksa file, direktori, atau jenis file tertentu menurut ekstensi file.

    Konsol Google Cloud menampilkan hingga 1.200 kerentanan dalam tabel ini. Jika image Anda memiliki lebih dari 1.200 kerentanan, Anda harus menggunakan gcloud atau API untuk melihat daftar lengkapnya.

  5. Untuk mengetahui detail tentang CVE tertentu, klik nama CVE.

  6. Untuk melihat detail kemunculan kerentanan seperti nomor versi dan lokasi yang terpengaruh, klik Lihat atau Lihat Perbaikan di baris dengan nama kerentanan. Teks link adalah Lihat untuk kerentanan tanpa perbaikan, dan Lihat Perbaikan untuk kerentanan yang telah diperbaiki.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.

Jika Anda membuat project baru untuk panduan ini, sekarang Anda dapat menghapus project tersebut.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah selanjutnya