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:
Buka repositori baseimgfact-[some number]-containers.
Buka folder yang sesuai dengan gambar yang ingin Anda ubah, misalnya
ubuntu_18_0_4
.Lakukan pengeditan. Misalnya, edit
Dockerfile
untuk memperbarui image container.Pilih Create a new branch untuk commit ini dan mulai permintaan pull.
Klik Propose changes.
Di Comment description, masukkan /gcbrun. Hal ini untuk memastikan hanya pengguna yang diotorisasi yang mengusulkan perubahan pada repositori.
Klik Create pull request.
Saat Anda membuat permintaan pull, build akan dipicu di
YOUR_PROJECT_NAME-builder
akan membuat gambar dan mengirim gambar keYOUR_PROJECT_NAME-stage
.Tambahkan anggota tim untuk meninjau permintaan pull Anda.
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.