Memindai paket OS 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

  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. Instal Google Cloud CLI.

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

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

    gcloud init
  5. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  6. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan Artifact Registry API dan Container Scanning API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

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

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

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

    gcloud init
  11. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  12. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  13. Aktifkan Artifact Registry API dan Container Scanning API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

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

Buat repositori Docker di Artifact Registry

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

  1. Buka halaman Repositori di Google Cloud konsol.

    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 menarik 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 Anda ke direktori lokal Anda. Misalnya, Anda dapat menggunakan docker untuk menarik image Ubuntu terbaru dari Docker Hub.

    docker pull ubuntu:latest
    

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 ubuntu:latest \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Di mana

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

Mengirim image ke Artifact Registry

Artifact Analysis secara otomatis memindai image baru saat diupload ke Artifact Registry.

Untuk mengirim image ke repositori Docker Anda 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:

  1. Buka daftar repositori Artifact Registry Anda di konsol Artifact Analysis.

    Buka halaman Repositori

  2. Di daftar repositori, klik repositori.

  3. Klik nama gambar.

    Anda akan melihat daftar ringkasan untuk gambar Anda.

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

    Screenshot gambar dengan kerentanan

  4. Klik jumlah total kerentanan tertaut di kolom Kerentanan.

    Anda akan melihat daftar kerentanan.

    Screenshot daftar gambar dan detail kerentanan

    Daftar kerentanan menunjukkan berapa kali image ini telah dipindai, tingkat keparahan kerentanan, ketersediaan perbaikan, nama paket yang berisi kerentanan, dan jenis paket.

  5. Untuk mempelajari lebih lanjut kerentanan tertentu dari sumber kerentanan, klik ID CVE yang ditautkan di kolom Nama.

Cara lain untuk melihat hasil

Konsol Google Cloud menampilkan hingga 1.200 kerentanan. Jika image Anda memiliki lebih dari 1.200 kerentanan, gunakan gcloud atau API untuk melihat daftar lengkapnya.

Pembersihan

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

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

  1. Di Konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah berikutnya