Security Center terintegrasi dengan Jenkins untuk memindai gambar kontainer secara otomatis selama setiap proses build. Instal plug-in sas-jenkins-plugin, lalu konfigurasikan Jenkinsfile untuk memicu pemindaian gambar saat pipeline Anda berjalan.
Persyaratan versi Jenkins
Pastikan Anda menggunakan Jenkins versi 1.625.3 atau yang lebih baru.
Unduh plug-in CI/CD
-
Masuk ke Security Center console. Pada bilah navigasi atas, pilih wilayah aset yang ingin Anda kelola. Anda dapat memilih Chinese Mainland atau Outside Chinese Mainland.
-
Pada panel navigasi kiri, pilih Protection Configuration > Container Protection > CI/CD Integration Settings.
-
Klik Integration Configuration.
-
Pada panel Integration Configuration, klik Download Plug-in di pojok kanan atas.
File plug-in (sas-jenkins-plugin) akan diunduh ke komputer Anda dalam format HPI.
Instal plug-in CI/CD pada Jenkins
Contoh ini menggunakan antarmuka Jenkins 2.479.1.
-
Masuk ke Jenkins.
-
Pada panel navigasi kiri, klik Manage Jenkins.
-
Pada halaman Manage Jenkins, klik Plugins.
-
Pada halaman Plugins, klik tab Advanced settings.
-
Pada bagian Deploy Plugin, klik Choose File dan pilih file HPI
sas-jenkins-pluginyang telah diunduh sebelumnya. -
Klik Deploy.
-
Restart Jenkins.
PentingPlug-in sas-jenkins-plugin hanya berlaku setelah Jenkins direstart. Anda dapat memilih kotak centang Restart Jenkins when installation is complete and no jobs are running agar Jenkins melakukan restart otomatis saat idle.
Konfigurasi pemindaian gambar
Masuk ke Jenkins.
Temukan proyek Pipeline yang gambarnya ingin Anda pindai, lalu klik nama proyek tersebut.
Pada panel navigasi kiri, klik Configure.
Pada bagian Pipeline, konfigurasikan integrasi plug-in CI/CD Security Center dengan Pipeline Jenkins Anda.
Contoh sintaksis Jenkinsfile berikut disediakan untuk pipeline scripted dan declarative. Pilih salah satu sesuai kebutuhan Anda.
Scripted Pipeline
node { sas(accessKeyId: '$AK', accessKeySecret: '$SK', token: '$TOKEN', imageId: '$IMAGE', domain: '$DOMAIN', registryUrl: '$REGISTRY_URL', registryUsername: '$REGISTRY_USERNAME', registryPwd: '$REGISTRY_PWD') }Declarative Pipeline
pipeline { agent any environment { ACCESS_KEY_ID = '$AK' ACCESS_KEY_SECRET = '$SK' IMAGE_ID = '$IMAGE' TOKEN = '$TOKEN' DOMAIN = '$DOMAIN' REGISTRY_URL = null REGISTRY_USERNAME = null REGISTRY_PWD = null } stages { stage('Build') { steps { sas(accessKeyId: env.ACCESS_KEY_ID, accessKeySecret: env.ACCESS_KEY_SECRET, imageId: env.IMAGE_ID, token: env.TOKEN, domain: env.DOMAIN, registryUrl: env.REGISTRY_URL, registryUsername: env.REGISTRY_USERNAME, registryPwd: env.REGISTRY_PWD) } } } }
Klik Save.
Setelah integrasi dikonfigurasi, Security Center menjalankan tugas pemindaian keamanan gambar setiap kali Anda melakukan build proyek, memindai gambar proyek Anda terhadap risiko keamanan. Output konsol build menampilkan Step.1 Image security scan started (memuat gambar pemindai) diikuti oleh Step.2 Security scan in progress (menganalisis gambar target), yang menunjukkan bahwa tugas pemindaian keamanan gambar sedang berjalan.
Langkah berikutnya
Lihat hasil pemindaian gambar pada tab Container di halaman Assets pada Security Center console. Untuk informasi lebih lanjut, lihat View image scan results.