Menggunakan pipeline gambar yang aman

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

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

Sebelum memulai

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

Menggunakan pipeline

Kode sumber untuk gambar dasar berada di repositori baseimgfct-[some number]-containers di organisasi GitHub yang Anda tentukan saat menyiapkan pipeline gambar aman. Untuk memperbarui image, edit file yang relevan di repositori dan kirim permintaan pull beserta perubahan tersebut kepada anggota tim untuk ditinjau. Saat Anda membuat permintaan pull, Cloud Build terpicu 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 akan mem-build, memindai, dan mengesahkan gambar serta mengirim image dari project staging ke YOUR_PROJECT_NAME-verified.

Langkah-langkah berikut menjelaskan alur kerja developer untuk menggunakan pipeline gambar 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 memperbarui image container.

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

  5. Klik Propose changes.

  6. Di Comment description, masukkan /gcbrun. Hal ini untuk memastikan hanya pengguna yang diotorisasi yang mengusulkan perubahan pada repositori.

  7. Klik Create pull request.

    Saat Anda membuat permintaan pull, build akan dipicu di YOUR_PROJECT_NAME-builder akan membuat gambar dan mengirim gambar 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 akan mem-build, menguji, memindai image untuk menemukan kerentanan, dan mengesahkan image jika berupa image container, lalu mengirim image ke YOUR_PROJECT_NAME-verified.

Menentukan kebijakan keamanan yang disesuaikan

Jika menggunakan pipeline Gambar aman untuk membuat dan mengelola image container 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 gambar tersebut. Jika gambar di YOUR_PROJECT_NAME-stage telah diverifikasi secara manual dan anggota tim menggabungkan permintaan pull di repositori image container GitHub, Voucher akan memeriksa kerentanan pada image, yang ditentukan dalam file konfigurasi Voucher. Setelah pemeriksaan selesai, jika semua kerentanan yang teridentifikasi berada di bawah batas, Voucher akan membuat pengesahan Otorisasi Biner untuk image dan gambar tersebut akan dikirim ke YOUR_PROJECT_NAME-verified. Jika salah satu kerentanan yang teridentifikasi memenuhi atau melebihi ambang batas, Voucher tidak akan membuat pengesahan. Tanpa pengesahan terverifikasi, pelaksana Otorisasi Biner tidak akan mengizinkan image dikirim ke YOUR_PROJECT_NAME-verified.

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