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.
Amazon Inspector adalah layanan manajemen kerentanan yang memindai gambar kontainer untuk sistem operasi dan kerentanan paket bahasa pemrograman berdasarkan CVE.
Menggunakan Jenkins plugin Amazon Inspector, Anda dapat menambahkan pemindaian kerentanan Amazon Inspector ke pipeline Anda. Jenkins
catatan
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 Jenkins plugin di Jenkins pasar di https://plugins.jenkins.io/amazon-inspector-image-scanner/
Langkah-langkah berikut menjelaskan cara mengatur plugin Amazon Inspector Jenkins.
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 kredensi docker ke Jenkins
catatan
Hanya tambahkan kredensi docker jika image docker ada di repositori pribadi. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan kredensi docker dari dasbor. Jenkins Jenkins
-
Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.
-
Pilih Kredensial global, lalu Tambahkan kredensial.
-
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 kredensial
catatan
Hanya tambahkan AWS kredensi jika Anda ingin mengautentikasi berdasarkan pengguna IAM. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan AWS kredensi dari dasbor. Jenkins
-
Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.
-
Pilih Kredensial global, lalu Tambahkan kredensial.
-
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 1) Pilih Otomatis untuk mengunduh versi terbaru dari inspector-sbomgen. Jika Anda memilih metode ini, pastikan untuk memilih arsitektur CPU yang cocok dengan sistem yang mengeksekusi plugin.
-
(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 kredensi 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 ini:
-
(Opsional) Untuk peran IAM, berikan peran ARN (arn:aws:iam: ::role/).
AccountNumber
RoleName
-
(Opsional) Untuk kredensi AWS, pilih Id untuk diautentikasi berdasarkan pengguna IAM.
-
(Opsional) Untuk nama AWS profil, berikan nama profil untuk diautentikasi menggunakan nama profil.
-
-
(Opsional) Tentukan ambang kerentanan per tingkat keparahan. Jika jumlah yang Anda tentukan terlampaui selama pemindaian, pembuatan gambar akan gagal. Jika nilainya semuanya
0
, build akan berhasil, terlepas dari apakah ada kerentanan yang ditemukan.
-
-
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 pipa deklaratif SBOMgen 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_ROLEdengan
ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, danID dengan ID
kredensyal Anda jika Anda menggunakan repositori pribadi. Docker 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 deklaratif SBOMgen secara manual
-
Untuk menambahkan Amazon Inspector Scan ke build, gunakan sintaks contoh berikut.
Ganti
Docker Anda dapat mengaktifkan ambang kerentanan secara opsional dan menentukan nilai untuk setiap tingkat keparahan.SBOMGEN_PATH
dengan jalur ke Amazon Inspector SBOM Generator yang Anda instal di langkah 3,IMAGE_PATH dengan jalur
ke gambar Anda (seperti alpine:latest)
, IAM_ROLE dengan ARN dari peran IAM yang Anda konfigurasi di langkah 1, dan IDdengan
ID kredensi Anda jika Anda menggunakan repositori pribadi.
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
.
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.