Men-deploy hanya image yang dibuat oleh Cloud Build

Halaman ini menjelaskan cara mengamankan rantai pasokan software Anda dengan mengonfigurasi Otorisasi Biner untuk hanya mengizinkan image container yang dibuat oleh Cloud Build untuk di-deploy.

Anda mengonfigurasi kontrol deployment ini dengan mewajibkan attestor built-by-cloud-build dalam kebijakan Otorisasi Biner Anda. Cloud Build secara otomatis membuat attestor built-by-cloud-build di project Anda saat Anda menjalankan build yang menghasilkan image. Setelah image berhasil di-build, Cloud Build akan otomatis menandatangani dan membuat pengesahan untuk image tersebut. Pada waktu deployment, Otorisasi Biner memverifikasi pengesahan dengan attestor built-by-cloud-build. Image yang diverifikasi diizinkan untuk di-deploy. Image yang gagal diverifikasi tidak diizinkan untuk di-deploy, dan kegagalan tersebut dicatat ke Cloud Audit Logs.

Untuk panduan menyeluruh yang menjelaskan cara menggunakan metadata yang direkam Cloud Build dan Otorisasi Biner, lihat Menggunakan asal-usul yang ditandatangani dan Otorisasi Biner.

Sebelum memulai

Untuk menggunakan fitur ini, Anda harus melakukan hal berikut terlebih dahulu:

Mengonfigurasi kebijakan

Di bagian ini, Anda akan mengonfigurasi kebijakan Otorisasi Biner untuk mewajibkan attestor built-by-cloud-build.

Untuk hanya mengizinkan image yang dibuat oleh Cloud Build untuk di-deploy, lakukan langkah-langkah berikut:

Konsol

  1. Buka halaman Binary Authorization di Google Cloud konsol:

    Buka Otorisasi Biner

  2. Di tab Policy, klik Edit Policy.

  3. Dalam dialog Edit Policy, pilih Allow only images that have been approved by all of the following attestors.

  4. Klik Add Attestors.

  5. Dalam kotak dialog Add attestors, lakukan hal berikut:

    1. Pilih Add by project and attestor name , lalu lakukan langkah-langkah berikut:
      1. Di kolom Project name, masukkan project tempat Anda menjalankan Cloud Build.
      2. Klik kolom Attestor name dan perhatikan bahwa attestor built-by-cloud-build tersedia.
      3. Klik built-by-cloud-build.
    2. Atau, pilih Add by attestor resource ID. Di Attestor resource ID, masukkan

      projects/PROJECT_ID/attestors/built-by-cloud-build
      

      Ganti PROJECT_ID dengan project tempat Anda menjalankan Cloud Build.

  6. Klik Add 1 attestor.

  7. Klik Save Policy.

gcloud

  1. Ekspor kebijakan yang ada ke file menggunakan perintah berikut:

    gcloud container binauthz policy export > /tmp/policy.yaml
    
  2. Edit file kebijakan Anda.

  3. Edit salah satu aturan berikut:

    • defaultAdmissionRule
    • clusterAdmissionRules
    • istioServiceIdentityAdmissionRules
    • kubernetesServiceAccountAdmissionRules
  4. Tambahkan blok requireAttestationsBy ke aturan jika belum ada.

  5. Di blok requireAttestationsBy, tambahkan

    projects/PROJECT_ID/attestors/built-by-cloud-build
    

    Ganti PROJECT_ID dengan project tempat Anda menjalankan Cloud Build.

  6. Simpan file kebijakan.

  7. Impor file kebijakan.

    gcloud container binauthz policy import /tmp/policy.yaml
    

    Berikut adalah contoh file kebijakan yang berisi referensi ke built-by-cloud-build-attestor:

    defaultAdmissionRule:
      evaluationMode: REQUIRE_ATTESTATION
      enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
      requireAttestationsBy:
        - projects/PROJECT_ID/attestors/built-by-cloud-build
    name: projects/PROJECT_ID/policy
    

    Ganti PROJECT_ID dengan project ID tempat Anda menjalankan Cloud Build.

Langkah berikutnya