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.

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

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

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

  2. Pilih Kredensial global, lalu Tambahkan kredensial.

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

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

  2. Pilih Kredensial global, lalu Tambahkan kredensial.

  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.

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

    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 kredensi Docker, pilih nama pengguna Anda. Docker Lakukan ini hanya jika gambar kontainer Anda ada di repositori pribadi.

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

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

      2. (Opsional) Untuk kredensi AWS, pilih Id untuk diautentikasi berdasarkan pengguna IAM.

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

    5. (Opsional) Tentukan ambang kerentanan per tingkat keparahan. Jika jumlah yang Anda tentukan terlampaui selama pemindaian, pembuatan gambar akan gagal. Jika nilainya semuanya0, build akan berhasil, terlepas dari apakah ada kerentanan yang ditemukan.

  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 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. Ganti IMAGE_PATH dengan jalur ke gambar Anda (seperti alpine:latest), IAM_ROLE dengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, dan ID 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 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 ID dengan ID kredensi Anda jika Anda menggunakan repositori pribadi. Docker 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.

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.