Utilizzo del plug-in Amazon Inspector Jenkins - Amazon Inspector

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo del plug-in Amazon Inspector Jenkins

Il Jenkins plug-in sfrutta il binario Amazon Inspector SBOM Generator e l'API Amazon Inspector Scan per produrre report dettagliati alla fine della build, in modo da poter analizzare e correggere i rischi prima della distribuzione.

Amazon Inspector è un servizio di gestione delle vulnerabilità che analizza le immagini dei container alla ricerca di vulnerabilità del sistema operativo e dei pacchetti del linguaggio di programmazione in base ai CVE.

Utilizzando il Jenkins plug-in Amazon Inspector, puoi aggiungere scansioni di vulnerabilità di Amazon Inspector alla tua pipeline. Jenkins

Nota

Le scansioni delle vulnerabilità di Amazon Inspector possono essere configurate per superare o fallire le esecuzioni della pipeline in base al numero e alla gravità delle vulnerabilità rilevate.

Puoi visualizzare la versione più recente del Jenkins plug-in nel marketplace all'indirizzo https://plugins.jenkins.io//. Jenkins amazon-inspector-image-scanner

I passaggi seguenti descrivono come configurare il plug-in Amazon Inspector Jenkins.

Importante

Prima di completare i seguenti passaggi, è necessario aggiornare Jenkins alla versione 2.387.3 o superiore per consentire l'esecuzione del plug-in.

Fase 1: Configura un Account AWS

Configura un Account AWS con un ruolo IAM che consenta l'accesso all'API Amazon Inspector Scan. Per istruzioni, consulta Configurazione di un AWS account per utilizzare l'integrazione CI/CD di Amazon Inspector.

Fase 2: Installa il plugin Amazon Inspector Jenkins

La procedura seguente descrive come installare il plug-in Amazon Inspector Jenkins dalla dashboard. Jenkins

  1. Dalla dashboard di Jenkins, scegli Manage Jenkins, quindi scegli Manage Plugins.

  2. Scegli Disponibile.

  3. Dalla scheda Available, cerca Amazon Inspector Scans, quindi installa il plug-in.

(Facoltativo) Fase 3. Aggiungi le credenziali docker a Jenkins

Nota

Aggiungi le credenziali docker solo se l'immagine docker si trova in un repository privato. In caso contrario, puoi ignorare questo passaggio.

La procedura seguente descrive come aggiungere credenziali docker Jenkins dalla dashboard. Jenkins

  1. Dalla dashboard di Jenkins, scegli Gestisci Jenkins, Credenziali e quindi Sistema.

  2. Scegli Credenziali globali, quindi Aggiungi credenziali.

  3. Per Tipo, seleziona Nome utente con password.

  4. Per Scope, seleziona Global (Jenkins, nodes, items, all child items, ecc.).

  5. Inserisci i tuoi dati, quindi scegli OK.

(Facoltativo) Fase 4. Aggiungere AWS credenziali

Nota

Aggiungi AWS le credenziali solo se desideri autenticarti in base a un utente IAM. In caso contrario, puoi ignorare questo passaggio.

La procedura seguente descrive come aggiungere AWS credenziali dalla dashboard. Jenkins

  1. Dalla dashboard Jenkins, scegli Gestisci Jenkins, Credenziali e quindi Sistema.

  2. Scegli Credenziali globali, quindi Aggiungi credenziali.

  3. Per Tipo, seleziona AWS Credentials.

  4. Inserisci i tuoi dati, tra cui l'ID della chiave di accesso e la chiave di accesso segreta, quindi scegli OK.

Fase 5. Aggiungi il supporto CSS in uno Jenkins script

La procedura seguente descrive come aggiungere il supporto CSS in uno Jenkins script.

  1. Riavvia Jenkins.

  2. Dalla dashboard, scegli Manage Jenkins, Nodes, Built-In Node e quindi Script Console.

  3. Nella casella di testo, aggiungi la rigaSystem.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""), quindi scegli Esegui.

Fase 6. Aggiungi Amazon Inspector Scan alla tua build

Puoi aggiungere Amazon Inspector Scan alla tua build aggiungendo una fase di compilazione nel tuo progetto o utilizzando la pipeline Jenkins dichiarativa.

Amazon Inspector Scansiona la tua build aggiungendo una fase di compilazione al tuo progetto

  1. Nella pagina di configurazione, scorri verso il basso fino a Build Steps e scegli Aggiungi fase di compilazione. Quindi seleziona Amazon Inspector Scan.

  2. Scegli tra due metodi di installazione di inspector-sbomgen: automatico o manuale.

    1. (Opzione 1) Scegli Automatico per scaricare l'ultima versione di inspector-sbomgen. Se scegli questo metodo, assicurati di selezionare l'architettura della CPU che corrisponde al sistema che esegue il plugin.

    2. (Opzione 2) Scegli Manuale se desideri configurare il binario Amazon Inspector SBOM Generator per la scansione. Se scegli questo metodo, assicurati di fornire il percorso completo di una versione di inspector-sbomgen scaricata in precedenza.

    Per ulteriori informazioni, consulta Installazione di Amazon Inspector SBOM Generator (Sbomgen) in Amazon Inspector SBOM Generator.

  3. Completa quanto segue per completare la configurazione della fase di compilazione di Amazon Inspector Scan:

    1. Inserisci il tuo ID immagine. L'immagine può essere locale, remota o archiviata. I nomi delle immagini devono seguire la convenzione di Docker denominazione. Se state analizzando un'immagine esportata, fornite il percorso del file tar previsto. Vedi il seguente esempio di percorsi Image Id:

      1. Per contenitori locali o remoti: NAME[:TAG|@DIGEST]

      2. Per un file tar: /path/to/image.tar

    2. Seleziona un tramite Regione AWSil quale inviare la richiesta di scansione.

    3. (Facoltativo) Per le credenziali Docker, seleziona il tuo nome utenteDocker. Esegui questa operazione solo se l'immagine del contenitore si trova in un repository privato.

    4. (Facoltativo) È possibile fornire i seguenti metodi di AWS autenticazione supportati:

      1. (Facoltativo) Per il ruolo IAM, fornisci un ruolo ARN (arn:aws:iam: :role/). AccountNumberRoleName

      2. (Facoltativo) Per le credenziali AWS, seleziona Id per l'autenticazione in base a un utente IAM.

      3. (Facoltativo) Per il nome del AWS profilo, fornisci il nome di un profilo da autenticare utilizzando un nome di profilo.

    5. (Facoltativo) Specificare le soglie di vulnerabilità per gravità. Se il numero specificato viene superato durante una scansione, la creazione dell'immagine avrà esito negativo. Se i valori sono tutti0, la compilazione avrà successo, indipendentemente dal fatto che vengano rilevate eventuali vulnerabilità.

  4. Selezionare Salva.

Aggiungi Amazon Inspector Scan alla tua build utilizzando la Jenkins pipeline dichiarativa

Puoi aggiungere Amazon Inspector Scan alla tua build utilizzando la pipeline dichiarativa Jenkins automaticamente o manualmente.

Per scaricare automaticamente la pipeline dichiarativa SBOMGen
  • Per aggiungere Amazon Inspector Scan a una build, usa la seguente sintassi di esempio. In base all'architettura del sistema operativo preferita del download di Amazon Inspector SBOM Generator, sostituisci SBOMGEN_SOURCE con LinuxAMD64 o LinuxARM64. Sostituisci IMAGE_PATH con il percorso della tua immagine (ad esempio alpine:latest), IAM_ROLE con l'ARN del ruolo IAM che hai configurato nel passaggio 1 e ID con il tuo ID Docker credenziale se stai utilizzando un repository privato. Facoltativamente, puoi abilitare le soglie di vulnerabilità e specificare i valori per ogni gravità.

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, ]) } } } } }
Per scaricare manualmente la pipeline dichiarativa SBOMGen
  • Per aggiungere Amazon Inspector Scan a una build, usa la seguente sintassi di esempio. Sostituisci SBOMGEN_PATH con il percorso dell'Amazon Inspector SBOM Generator che hai installato nella fase 3, IMAGE_PATH con il percorso dell'immagine (ad esempio alpine:latest), IAM_ROLE con l'ARN del ruolo IAM configurato nella fase 1 e ID con il tuo ID credenziale se utilizzi un repository privato. Docker Facoltativamente, puoi abilitare le soglie di vulnerabilità e specificare i valori per ogni gravità.

Nota

Inseriscilo Sbomgen nella directory Jenkins e fornisci il percorso della directory Jenkins nel plugin (ad esempio /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, ]) } } } } }

Fase 7. Visualizza il report sulla vulnerabilità di Amazon Inspector

  1. Completa una nuova build del tuo progetto.

  2. Al termine della compilazione, seleziona un formato di output dai risultati. Se selezioni HTML, hai la possibilità di scaricare una versione JSON SBOM o CSV del rapporto. Di seguito viene mostrato un esempio di report HTML:

Esempio di report di vulnerabilità di Amazon Inspector.

Risoluzione dei problemi

Di seguito sono riportati gli errori più comuni che puoi riscontrare quando utilizzi il plug-in Amazon Inspector Scan per. Jenkins

Caricamento delle credenziali non riuscito o errore di eccezione

Errore:

InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.

Risoluzione

Ottieni aws_access_key_id e aws_secret_access_key per il tuo account. AWS Configura aws_access_key_id e aws_secret_access_key accedi~/.aws/credentials.

Errore di percorso Inspector-SBOMGen

Errore:

Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?

Risoluzione:

Completate la seguente procedura per risolvere il problema.

  1. Inserisci l'architettura del sistema operativo corretta Inspector-SBOMGen nella Jenkins directory Per ulteriori informazioni, consulta Amazon Inspector SBOM Generator.

  2. Concedi le autorizzazioni eseguibili al file binario utilizzando il seguente comando:. chmod +x inspector-sbomgen

  3. Fornisci il percorso corretto del Jenkins computer nel plug-in, ad esempio/opt/folder/arm64/inspector-sbomgen.

  4. Salva la configurazione ed esegui il Jenkins lavoro.