Membangun aplikasi dan melihat insight keamanan

Panduan memulai ini menjelaskan cara membangun aplikasi dan melihat insight keamanan untuk build di panel Insight keamanan di konsol Google Cloud .

Anda akan:

  • Bangun dan masukkan aplikasi Java ke dalam container menggunakan Cloud Build dan kirim image container ke repositori Docker Artifact Registry.
  • Lihat insight keamanan berikut untuk build:

    • Tingkat Supply-chain Levels for Software Artifacts (SLSA), yang mengidentifikasi tingkat kematangan proses build software Anda sesuai dengan spesifikasi SLSA .
    • Kerentanan dalam artefak build.
    • Software bill of materials (SBOM) untuk artefak build.
    • Membangun asal-usul, yang merupakan kumpulan metadata yang dapat diverifikasi tentang build. File ini mencakup detail seperti ringkasan gambar yang dibuat, lokasi sumber input, toolchain build, langkah-langkah build, dan durasi build.

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

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

  7. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  8. Install the 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. 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.

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

  13. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  14. Menyiapkan lingkungan Anda

    1. Tetapkan project ID Anda sebagai variabel lingkungan:

      export PROJECT_ID=$(gcloud config get project)
      
    2. Buat clone repositori yang berisi contoh kode Java untuk membangun dan membuat container:

      git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git
      cd software-delivery-shield-demo-java/backend
      

    Buat repositori Artifact Registry untuk image Anda

    1. Buat repositori Docker baru bernama containers di lokasi us-central1 dengan deskripsi "Docker repository":

      gcloud artifacts repositories create containers \
          --repository-format=docker \
          --location=us-central1 --description="Docker repository"
      
    2. Pastikan repositori Anda telah dibuat:

      gcloud artifacts repositories list
      

      Anda akan melihat containers dalam daftar repositori yang ditampilkan.

    Membangun aplikasi

    Bangun dan masukkan aplikasi Java ke dalam container menggunakan Cloud Build. Perintah berikut akan membangun dan menyimpan aplikasi Java dalam container, serta menyimpan container yang dibangun di repositori Docker Artifact Registry:

    gcloud builds submit --config=cloudbuild.yaml --region=us-central1
    

    Setelah build selesai, Anda akan melihat pesan status berhasil yang mirip dengan berikut:

    <pre class="none lang-sh">
    DONE
    -----------------------------------------------------------------------------
    ID: 3e08565f-7f57-4449-bc68-51c46cf33d03
    CREATE_TIME: 2022-09-19T15:41:07+00:00
    DURATION: 54S
    SOURCE: gs://sds-docs-project_cloudbuild/source/1663602066.777581-6ebe4b2d6fd741ffa18936d7f78055e9.tgz
    IMAGES: us-central1-docker.pkg.dev/sds-docs-project/containers/java-guestbook-backend:quickstart
    STATUS: SUCCESS
    </pre>
    

    Buat SBOM untuk image yang dibuat

    SBOM adalah inventaris lengkap aplikasi, yang mengidentifikasi paket yang digunakan oleh software Anda. Konten dapat mencakup software pihak ketiga dari vendor, artefak internal, dan library open source.

    Buat SBOM untuk image yang Anda buat di bagian sebelumnya:

    gcloud artifacts sbom export \
        --uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart
    

    Melihat insight keamanan

    UI Cloud Build di konsol Google Cloud berisi panel Insight keamanan yang menampilkan informasi keamanan terkait build, seperti tingkat SLSA, kerentanan dalam dependensi, dan asal-usul build.

    Untuk melihat panel Insight keamanan:

    1. Buka halaman Build history di konsol Google Cloud :

      Buka halaman Histori build

    2. Pilih project Anda lalu klik Buka.

    3. Di menu drop-down Region, pilih us-central1.

    4. Pada tabel dengan build, cari baris dengan build yang baru saja Anda jalankan.

    5. Di kolom Insight keamanan, klik Lihat.

    Anda akan melihat panel Insight keamanan untuk build:

    Panel ini menampilkan informasi berikut:

    • Tingkat SLSA: Build ini telah mencapai Tingkat SLSA 3. Klik link Pelajari lebih lanjut untuk mempelajari arti tingkat keamanan ini.

    • Kerentanan: Kerentanan apa pun yang ditemukan di artefak Anda. Klik nama gambar (java-guestbook-backend) untuk melihat artefak yang telah dipindai untuk mengetahui kerentanan.

    • Dependensi untuk image container yang dibangun di Artifact Registry.

    • Detail build: Detail build seperti builder dan link untuk melihat log.

    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.

    1. Nonaktifkan Container Scanning API:

      gcloud services disable containerscanning.googleapis.com --force
      
    2. Hapus repositori Artifact Registry:

      gcloud artifacts repositories delete containers \
          --location=us-central1 --async
      

      Anda kini telah menghapus repositori yang Anda buat sebagai bagian dari panduan memulai ini.

    Langkah berikutnya