Memindai paket Java secara otomatis

Dokumen ini menjelaskan cara mengaktifkan Container Scanning API, mengirim image ke Artifact Registry, dan melihat daftar kerentanan yang ditemukan dalam image.

Artifact Analysis menyimpan informasi kerentanan sebagai catatan. Kemunculan dibuat untuk setiap instance catatan yang terkait dengan gambar. Lihat dokumen ringkasan dan harga untuk mengetahui informasi selengkapnya.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  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 Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Instal Google Cloud CLI.

  6. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  7. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  8. 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

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

  10. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  11. Instal Google Cloud CLI.

  12. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  13. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  14. Buat repositori Docker di Artifact Registry dan kirim image container dengan kode Java Anda ke repositori. Jika Anda belum terbiasa dengan Artifact Registry, lihat Panduan memulai Docker.

    Untuk mengetahui informasi tentang cara menggunakan Cloud Build untuk membangun dan membuat container aplikasi Java Anda, lihat Membangun, menguji, dan membuat container aplikasi Java.

Melihat kerentanan gambar

Artifact Analysis memindai image baru saat diupload ke Artifact Registry. Pemindaian ini mengekstrak informasi tentang paket dalam penampung.

Anda dapat melihat kemunculan kerentanan untuk image Anda di Artifact Registry menggunakan konsol Google Cloud , Google Cloud CLI, atau Container Analysis API. Jika gambar memiliki kerentanan, Anda dapat memperoleh detailnya.

Analisis Artefak terus memindai gambar dan paket selama gambar dan paket tersebut telah ditarik dalam 30 hari terakhir. Setelah 30 hari, metadata untuk gambar dan paket yang dipindai tidak akan diperbarui lagi, dan hasilnya akan menjadi tidak valid.

Artifact Analysis mengarsipkan metadata yang sudah tidak aktif selama lebih dari 90 hari. Metadata yang diarsipkan ini hanya dapat dievaluasi menggunakan API. Anda dapat memindai ulang gambar dengan metadata yang tidak berlaku atau diarsipkan dengan menarik gambar tersebut. Memperbarui metadata dapat memerlukan waktu hingga 24 jam. Paket dengan metadata yang tidak berlaku atau diarsipkan tidak dapat dipindai ulang.

Melihat kemunculan di konsol Google Cloud

Untuk melihat kerentanan dalam image:

  1. Dapatkan daftar repositori.

    Buka halaman Repositori

  2. Di daftar repositori, klik repositori.

  3. Dalam daftar gambar, klik nama gambar.

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

    Image yang dipindai dengan kerentanan

  4. Untuk melihat daftar kerentanan suatu 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 efektif.

    Halaman Hasil pemindaian yang mencantumkan kerentanan, perbaikan, dan tingkat keparahan efektif

    Tabel kerentanan mencantumkan nama Common Vulnerabilities and Exposures (CVE) untuk setiap kerentanan yang ditemukan, tingkat keparahan efektif, skor Common Vulnerability Scoring System (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.

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

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

Melihat kerentanan di lapisan tertentu

Artifact Analysis 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 :

  1. Di Artifact Registry, buka daftar repositori Anda.

    Buka halaman Repositori

  2. Di halaman Repositories, klik repositori.

  3. Di halaman Repository Details, klik gambar.

  4. Dalam daftar versi gambar, klik ringkasan gambar.

  5. Di halaman detail ringkasan image, klik tab Kerentanan.

    Jika metadata berbasis lapisan tersedia, Artifact Analysis akan menampilkan daftar lapisan yang dapat dipilih di kolom Lapisan:

    Gambar halaman Vulnerabilities untuk ringkasan image, termasuk kolom Layer. Panel Lapisan memiliki menu drop-down untuk memilih dari daftar bernomor lapisan.

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

    Gambar menu drop-down lapisan yang terbuka. Menu ini menampilkan perintah Docker yang digunakan untuk membangun lapisan, serta jenis dan jumlah kerentanan untuk setiap lapisan.

    Untuk setiap lapisan, Artifact Analysis menampilkan perintah Docker yang digunakan untuk membangun lapisan dan jumlah kerentanan yang ditemukan di lapisan tersebut.

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

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

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

Melihat kemunculan menggunakan gcloud

Untuk melihat kemunculan image di Artifact Registry, jalankan perintah gcloud artifacts docker images list:

  gcloud artifacts docker images list --show-occurrences \
      LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID

Dengan:

  • LOCATION adalah lokasi repositori regional atau multi-regional.
  • PROJECT_ID adalah project ID konsol Google Cloud Anda.