Menggunakan pipeline gambar aman

Setelah membuat pipeline image aman, Anda dapat mengotomatiskan alur kerja pembuatan image yang ditandatangani setiap kali Anda membuat perubahan pada kode sumber.

Halaman ini menjelaskan cara menggunakan pipeline gambar untuk menghasilkan gambar yang aman dan terverifikasi.

Sebelum memulai

Buat pipeline image aman dan pahami resource yang dibuat oleh pipeline.

Menggunakan pipeline

Kode sumber untuk image dasar ada di repositori baseimgfct-[some number]-containers di organisasi GitHub yang Anda tentukan saat menyiapkan pipeline image aman. Untuk mengupdate image, edit file yang relevan di repositori dan kirim permintaan pull dengan perubahan ke anggota tim untuk ditinjau. Saat Anda membuat permintaan pull, pemicu Cloud Build di YOUR_PROJECT_NAME-builder akan mem-build image yang diperbarui dan mengirim image ke repositori Artifact Registry di YOUR_PROJECT_NAME-stage.

Setelah anggota tim menguji dan memverifikasi gambar di YOUR_PROJECT_NAME-stage, mereka dapat menyetujui dan menggabungkan permintaan pull Anda. Tindakan penggabungan mem-build, memindai, dan menandatangani gambar, serta mendorong gambar dari project staging ke YOUR_PROJECT_NAME-verified.

Langkah-langkah berikut menjelaskan alur kerja developer untuk menggunakan pipeline image yang aman:

  1. Buka repositori baseimgfact-[some number]-containers.

  2. Buka folder yang sesuai dengan gambar yang ingin Anda ubah, misalnya ubuntu_18_0_4.

  3. Lakukan pengeditan. Misalnya, edit Dockerfile untuk mengupdate image container.

  4. Pilih Create a new branch untuk commit ini dan mulai permintaan pull.

  5. Klik Propose changes.

  6. Di Deskripsi komentar, masukkan /gcbrun. Hal ini untuk memastikan bahwa hanya pengguna yang diberi otorisasi yang mengusulkan perubahan pada repositori.

  7. Klik Create pull request.

    Saat Anda membuat permintaan pull, pemicu build di YOUR_PROJECT_NAME-builder akan mem-build image dan mendorong image ke YOUR_PROJECT_NAME-stage.

  8. Tambahkan anggota tim untuk meninjau permintaan pull Anda.

  9. Setelah memverifikasi gambar secara manual, anggota tim menyetujui dan menggabungkan permintaan pull.

    Tindakan penggabungan mem-build, menguji, memindai image untuk menemukan kerentanan, dan mengautentikasi image jika merupakan image container, lalu mendorong image ke YOUR_PROJECT_NAME-verified.

Menentukan kebijakan keamanan yang disesuaikan

Jika menggunakan pipeline image Aman untuk membuat dan mengelola image penampung dasar, Anda dapat menentukan kebijakan keamanan yang disesuaikan yang digunakan untuk memverifikasi image.

YOUR_PROJECT_NAME-stage menjalankan instance Voucher, yang merupakan alat open source yang menjalankan serangkaian pemeriksaan pada image container dan membuat pengesahan Otorisasi Biner untuk image tersebut. Saat image di YOUR_PROJECT_NAME-stage telah diverifikasi secara manual dan anggota tim menggabungkan permintaan pull di repositori image penampung GitHub, Voucher akan memeriksa kerentanan image, yang ditentukan dalam file konfigurasi Voucher. Setelah pemeriksaan selesai, jika semua kerentanan yang diidentifikasi berada di bawah nilai minimum, Voucher akan membuat pengesahan Otorisasi Biner untuk image dan image akan di-push ke YOUR_PROJECT_NAME-verified. Jika salah satu kerentanan yang diidentifikasi memenuhi atau melebihi nilai minimum, Voucher tidak akan membuat pengesahan. Tanpa pengesahan yang terverifikasi, penegak Otorisasi Biner tidak mengizinkan image di-push ke YOUR_PROJECT_NAME-verified.

Anda dapat menentukan pemeriksaan yang dijalankan Voucher, beserta kriteria lainnya, dalam file konfigurasi Server Voucher. Untuk mengetahui petunjuk cara melakukannya, lihat Mem-build dan mengonfigurasi server Voucher.