Menggunakan plugin Amazon Inspector Jenkins - Amazon Inspector

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/. 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

  1. Dari dasbor Jenkins, pilih Kelola Jenkins, lalu pilih Kelola Plugin.

  2. Pilih Tersedia.

  3. 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

  1. Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.

  2. Pilih Kredensial global lalu Tambahkan kredensyal.

  3. Untuk Jenis, pilih Nama pengguna dengan kata sandi.

  4. Untuk Lingkup, pilih Global (Jenkins, node, item, semua item anak, dll).

  5. 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

  1. Dari dasbor Jenkins, pilih Manage Jenkins, Credentials, dan kemudian System.

  2. Pilih Kredensial global lalu Tambahkan kredensyal.

  3. Untuk Jenis, pilih AWS Credentials.

  4. 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.

  1. Mulai ulang Jenkins.

  2. Dari Dashboard, pilih Manage Jenkins, Nodes, Built-in Node, dan kemudian Script Console.

  3. Di kotak teks, tambahkan barisSystem.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

  1. Pada halaman konfigurasi, gulir ke bawah ke Build Steps, dan pilih Add build step. Kemudian pilih Amazon Inspector Scan.

  2. 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.

    1. (Opsi 1) Pilih Otomatis untuk mengunduh versi terbaru dari inspector-sbomgen. Opsi ini secara otomatis mendeteksi sistem operasi dan arsitektur CPU yang sedang digunakan.

    2. (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.

  3. Selesaikan yang berikut ini untuk menyelesaikan konfigurasi langkah pembuatan Amazon Inspector Scan:

    1. 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:

      1. Untuk kontainer lokal atau jarak jauh: NAME[:TAG|@DIGEST]

      2. Untuk file tar: /path/to/image.tar

    2. Pilih Wilayah AWSuntuk mengirim permintaan pemindaian melalui.

    3. (Opsional) Untuk Laporkan Nama Artifact, masukkan nama kustom untuk artefak yang dihasilkan selama proses pembuatan. Ini membantu mengidentifikasi dan mengelolanya secara unik.

    4. (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.

    5. (Opsional) Untuk kredensyal Docker, pilih nama pengguna Anda. Docker Lakukan ini hanya jika gambar kontainer Anda ada di repositori pribadi.

    6. (Opsional) Anda dapat memberikan metode AWS otentikasi yang didukung berikut:

      1. (Opsional) Untuk peran IAM, berikan peran ARN (arn:aws:iam: ::role/). AccountNumber RoleName

      2. (Opsional) Untuk kredensyal AWS, tentukan AWS kredensyal yang akan diautentikasi berdasarkan pengguna IAM.

      3. (Opsional) Untuk nama AWS profil, berikan nama profil untuk diautentikasi menggunakan nama profil.

    7. (Opsional) Pilih Aktifkan ambang kerentanan. Dengan opsi ini, Anda dapat menentukan apakah build gagal jika kerentanan yang dipindai melebihi nilai. Jika semua nilai sama0, 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.

  4. 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. Ganti IMAGE_PATH dengan jalur ke gambar Anda (sepertialpine:latest), IAM_ROLE dengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, dan ID 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, dan ID 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

  1. Selesaikan pembangunan baru proyek Anda.

  2. 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:

Contoh laporan kerentanan Amazon Inspector.

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.

  1. Tempatkan arsitektur OS Inspector-SBOMGEN yang benar di Jenkins direktori Untuk informasi selengkapnya, lihat Amazon Inspector SBOM Generator.

  2. Berikan izin yang dapat dieksekusi ke biner menggunakan perintah berikut:. chmod +x inspector-sbomgen

  3. Berikan jalur Jenkins mesin yang benar di plugin, seperti/opt/folder/arm64/inspector-sbomgen.

  4. Simpan konfigurasi, dan jalankan Jenkins pekerjaan.