Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan plugin Amazon Inspector Jenkins
JenkinsPlugin ini memanfaatkan biner Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Dengan Jenkins plugin Amazon Inspector, Anda dapat menambahkan pemindaian kerentanan Amazon Inspector ke pipeline Anda. Jenkins Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk lulus atau gagal eksekusi pipeline berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. Anda dapat melihat versi terbaru dari Jenkins plugin di Jenkins pasar di https://plugins.jenkins.io/amazon-inspector-image-scanner/
penting
Sebelum menyelesaikan langkah-langkah berikut, Anda harus memutakhirkan Jenkins ke versi 2.387.3 atau lebih tinggi agar plugin dapat berjalan.
Langkah 1. Mengatur sebuah Akun AWS
Konfigurasikan Akun AWS dengan peran IAM yang memungkinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD .
Langkah 2. Instal Plugin Amazon Inspector Jenkins
Prosedur berikut menjelaskan cara menginstal plugin Amazon Inspector Jenkins dari dasbor. Jenkins
-
Dari dasbor Jenkins, pilih Kelola Jenkins, lalu pilih Kelola Plugin.
-
Pilih Tersedia.
-
Dari tab Tersedia, cari Amazon Inspector Scan, lalu instal plugin.
(Opsional) Langkah 3. Tambahkan kredensyal docker ke Jenkins
catatan
Hanya tambahkan kredensyal docker jika image docker ada di repositori pribadi. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan kredensyal docker dari dasbor. Jenkins Jenkins
-
Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.
-
Pilih Kredensial global lalu Tambahkan kredensyal.
-
Untuk Jenis, pilih Nama pengguna dengan kata sandi.
-
Untuk Lingkup, pilih Global (Jenkins, node, item, semua item anak, dll).
-
Masukkan detail Anda, lalu pilih OK.
(Opsional) Langkah 4. Tambahkan AWS kredensi
catatan
Hanya tambahkan AWS kredensyal jika Anda ingin mengautentikasi berdasarkan pengguna IAM. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan AWS kredensyal dari dasbor. Jenkins
-
Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.
-
Pilih Kredensial global lalu Tambahkan kredensyal.
-
Untuk Jenis, pilih AWS Credentials.
-
Masukkan detail Anda, termasuk ID Kunci Akses dan Kunci Akses Rahasia, lalu pilih OK.
Langkah 5. Tambahkan dukungan CSS dalam Jenkins skrip
Prosedur berikut menjelaskan cara menambahkan dukungan CSS dalam Jenkins skrip.
-
Mulai ulang Jenkins.
-
Dari Dashboard, pilih Manage Jenkins, Nodes, Built-in Node, dan kemudian Script Console.
-
Di kotak teks, tambahkan baris
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
, lalu pilih Jalankan.
Langkah 6. Tambahkan Amazon Inspector Scan ke build Anda
Anda dapat menambahkan Amazon Inspector Scan ke build dengan menambahkan langkah build dalam project Anda atau dengan menggunakan pipeline Jenkins deklaratif.
Amazon Inspector Scan ke build Anda dengan menambahkan langkah build dalam proyek Anda
-
Pada halaman konfigurasi, gulir ke bawah ke Build Steps, dan pilih Add build step. Kemudian pilih Amazon Inspector Scan.
-
Pilih antara dua metode instalasi inspector-sbomgen: Otomatis atau Manual. Opsi otomatis memungkinkan plugin untuk mengunduh versi terbaru. Ini juga memastikan Anda selalu memiliki fitur terbaru, pembaruan keamanan, dan perbaikan bug.
-
(Opsi 1) Pilih Otomatis untuk mengunduh versi terbaru dari inspector-sbomgen. Opsi ini secara otomatis mendeteksi sistem operasi dan arsitektur CPU yang sedang digunakan.
-
(Opsi 2) Pilih Manual jika Anda ingin mengatur biner Amazon Inspector SBOM Generator untuk pemindaian. Jika Anda memilih metode ini, pastikan untuk memberikan jalur lengkap ke versi inspector-sbomgen yang diunduh sebelumnya.
Untuk informasi selengkapnya, lihat Menginstal Amazon Inspector SBOM Generator (Sbomgen) di Amazon Inspector SBOM Generator.
-
-
Selesaikan yang berikut ini untuk menyelesaikan konfigurasi langkah pembuatan Amazon Inspector Scan:
-
Masukkan Id Gambar Anda. Gambar dapat berupa lokal, jarak jauh, atau diarsipkan. Nama gambar harus mengikuti konvensi Docker penamaan. Jika menganalisis gambar yang diekspor, berikan jalur ke file tar yang diharapkan. Lihat contoh jalur Id Gambar berikut:
-
Untuk kontainer lokal atau jarak jauh:
NAME[:TAG|@DIGEST]
-
Untuk file tar:
/path/to/image.tar
-
-
Pilih Wilayah AWSuntuk mengirim permintaan pemindaian melalui.
-
(Opsional) Untuk Laporkan Nama Artifact, masukkan nama kustom untuk artefak yang dihasilkan selama proses pembuatan. Ini membantu mengidentifikasi dan mengelolanya secara unik.
-
(Opsional) Untuk Lewati file, tentukan satu atau beberapa direktori yang ingin Anda kecualikan dari pemindaian. Pertimbangkan opsi ini untuk direktori yang tidak perlu dipindai karena ukurannya.
-
(Opsional) Untuk kredensyal Docker, pilih nama pengguna Anda. Docker Lakukan ini hanya jika gambar kontainer Anda ada di repositori pribadi.
-
(Opsional) Anda dapat memberikan metode AWS otentikasi yang didukung berikut:
-
(Opsional) Untuk peran IAM, berikan peran ARN (arn:aws:iam: ::role/).
AccountNumber
RoleName
-
(Opsional) Untuk kredensyal AWS, tentukan AWS kredensyal yang akan diautentikasi berdasarkan pengguna IAM.
-
(Opsional) Untuk nama AWS profil, berikan nama profil untuk diautentikasi menggunakan nama profil.
-
-
(Opsional) Pilih Aktifkan ambang kerentanan. Dengan opsi ini, Anda dapat menentukan apakah build gagal jika kerentanan yang dipindai melebihi nilai. Jika semua nilai sama
0
, build berhasil, terlepas dari berapa banyak kerentanan yang dipindai. Untuk skor EPSS, nilainya bisa dari 0 hingga 1. Jika kerentanan yang dipindai melebihi nilai, build gagal, dan semua CVEs dengan skor EPSS di atas nilai ditampilkan di konsol.
-
-
Pilih Simpan.
Tambahkan Amazon Inspector Scan ke build Anda menggunakan pipeline deklaratif Jenkins
Anda dapat menambahkan Amazon Inspector Scan ke build menggunakan pipeline deklaratif Jenkins secara otomatis atau manual.
Untuk mengunduh pipeline SBOMGen deklaratif secara otomatis
-
Untuk menambahkan Amazon Inspector Scan ke build, gunakan sintaks contoh berikut. Berdasarkan arsitektur OS pilihan Anda dari unduhan Amazon Inspector SBOM Generator, ganti
SBOMGEN_SOURCE
dengan LinuxAMD64 atau LinuXARM64. GantiIMAGE_PATH
dengan jalur ke gambar Anda (sepertialpine:latest
),IAM_ROLE
dengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, danID
dengan ID Docker kredenal Anda jika Anda menggunakan repositori pribadi. Anda dapat mengaktifkan ambang kerentanan secara opsional dan menentukan nilai untuk setiap tingkat keparahan.
pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenSource: '
SBOMGEN_SOURCE
', // this can be linuxAmd64 or linuxArm64 archivePath: 'IMAGE_PATH
', awsRegion: 'REGION
', iamRole: 'IAM ROLE
', credentialId: 'Id
', // provide empty string if image not in private repositories awsCredentialId: ''AWS ID
;', awsProfileName: 'Profile Name
', isThresholdEnabled:false
, countCritical:0
, countHigh:0
, countLow:10
, countMedium:5
, ]) } } } } }
Untuk mengunduh pipeline SBOMGen deklaratif secara manual
-
Untuk menambahkan Amazon Inspector Scan ke build, gunakan sintaks contoh berikut. Ganti
SBOMGEN_PATH
dengan jalur ke Amazon Inspector SBOM Generator yang Anda instal di langkah 3,IMAGE_PATH
dengan jalur ke gambar Anda (sepertialpine:latest
),IAM_ROLE
dengan ARN peran IAM yang Anda konfigurasikan pada langkah 1, danID
dengan ID Docker kredenal Anda jika Anda menggunakan repositori pribadi. Anda dapat mengaktifkan ambang kerentanan secara opsional dan menentukan nilai untuk setiap tingkat keparahan.
catatan
Tempatkan Sbomgen di direktori Jenkins, dan berikan jalur ke direktori Jenkins di plugin (seperti/opt/folder/arm64/inspector-sbomgen
).
pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenPath: '
SBOMGEN_PATH
', archivePath: 'IMAGE_PATH
', awsRegion: 'REGION
', iamRole: 'IAM ROLE
', awsCredentialId: ''AWS ID
;', credentialId: 'Id
;', // provide empty string if image not in private repositories awsProfileName: 'Profile Name
', isThresholdEnabled:false
, countCritical:0
, countHigh:0
, countLow:10
, countMedium:5
, ]) } } } } }
Langkah 7. Lihat laporan kerentanan Amazon Inspector Anda
-
Selesaikan pembangunan baru proyek Anda.
-
Setelah build selesai, pilih format keluaran dari hasil. Jika Anda memilih HTML, Anda memiliki opsi untuk mengunduh laporan versi JSON SBOM atau CSV. Berikut ini menunjukkan contoh laporan HTML:

Pemecahan Masalah
Berikut ini adalah kesalahan umum yang dapat Anda temui saat menggunakan plugin Amazon Inspector Scan untuk. Jenkins
Gagal memuat kredensi atau kesalahan pengecualian sts
Kesalahan:
InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.
Resulltion
Dapatkan aws_access_key_id
dan aws_secret_access_key
untuk AWS akun Anda. Siapkan aws_access_key_id
dan aws_secret_access_key
masuk~/.aws/credentials
.
Gagal memuat gambar dari tarball, lokal, atau sumber jarak jauh
Kesalahan:
2024/10/16 02:25:17 [ImageDownloadFailed]: failed to load image from tarball, local, or remote sources.
catatan
Kesalahan ini dapat terjadi jika plugin Jenkins tidak dapat membaca gambar kontainer, gambar kontainer tidak ditemukan di Docker mesin, dan gambar kontainer tidak ditemukan di registri kontainer jarak jauh.
Penyelesaian:
Verifikasi hal berikut;
-
Pengguna plugin Jenkins telah membaca izin untuk gambar yang ingin Anda pindai.
-
Gambar yang ingin Anda pindai ada di Docker mesin.
-
URL gambar jarak jauh Anda benar.
-
Anda diautentikasi ke registri jarak jauh (jika ada).
Kesalahan jalur inspektor-sbomgen
Kesalahan:
Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?
Penyelesaian:
Selesaikan prosedur berikut untuk menyelesaikan masalah.
-
Berikan izin yang dapat dieksekusi ke biner menggunakan perintah berikut:.
chmod +x inspector-sbomgen
-
Berikan jalur Jenkins mesin yang benar di plugin, seperti
/opt/folder/arm64/inspector-sbomgen
. -
Simpan konfigurasi, dan jalankan Jenkins pekerjaan.