

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
<a name="cicd-jenkins"></a>

 Il Jenkins plug-in sfrutta il binario [Amazon Inspector SBOM Generator](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#sbomgen-supported) 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. Con il Jenkins plug-in Amazon Inspector, puoi aggiungere scansioni di vulnerabilità di Amazon Inspector alla tua pipeline. Jenkins 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](https://plugins.jenkins.io/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. 

## Passaggio 1. Configura un Account AWS
<a name="cicd-jenkins-enable"></a>

 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 con Amazon Inspector CI/CD](configure-cicd-account.md). 

## Passaggio 2. Installa il plugin Amazon Inspector Jenkins
<a name="cicd-jenkins-install-jenkins-plugin"></a>

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

1.  **Scegli Disponibile.** 

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

## (Facoltativo) Passaggio 3. Aggiungi le credenziali docker a Jenkins
<a name="cicd-jenkins-add-jenkins"></a>

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

1.  **Scegli **Credenziali globali, quindi Aggiungi credenziali**.** 

1.  Per **Tipo**, seleziona **Nome utente con password**. 

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

1.  Inserisci i tuoi dati, quindi scegli **OK.** 

## (Facoltativo) Fase 4. Aggiungere AWS credenziali
<a name="cicd-jenkins-add-aws-credentials"></a>

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

1.  **Scegli **Credenziali globali, quindi Aggiungi credenziali**.** 

1.  Per **Tipo**, seleziona **AWS Credentials.** 

1.  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
<a name="cicd-jenkins-add-css-support"></a>

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

1.  Riavvia Jenkins. 

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

1.  Nella casella di testo, aggiungi la riga`System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")`, quindi scegli **Esegui**. 

## Fase 6. Aggiungi Amazon Inspector Scan alla tua build
<a name="cicd-jenkins-add-inspector-scan"></a>

 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
<a name="w2aac39c17c19b5"></a>

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

1.  ****Scegli tra due metodi di installazione di inspector-sbomgen: automatico o manuale.**** L'opzione automatica consente al plugin di scaricare la versione più recente. Inoltre, ti assicura di avere sempre le funzionalità più recenti, gli aggiornamenti di sicurezza e le correzioni di bug. 

   1.  (Opzione 1) Scegli **Automatico** per scaricare l'ultima versione di inspector-sbomgen. Questa opzione rileva automaticamente il sistema operativo e l'architettura della CPU attualmente in uso. 

   1.  (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](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen).](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

1.  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]` 

      1.  Per un file tar: `/path/to/image.tar` 

   1.  Seleziona un tramite **Regione AWS**il quale inviare la richiesta di scansione. 

   1.  (Facoltativo) Per **Report Artifact** Name, inserite un nome personalizzato per gli artefatti generati durante il processo di creazione. Questo aiuta a identificarli e gestirli in modo univoco. 

   1.  (Facoltativo) Per **Skip files**, specificate una o più directory da escludere dalla scansione. Considerate questa opzione per le cartelle che non devono essere scansionate a causa delle loro dimensioni. 

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

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

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

      1.  (Facoltativo) Per **le credenziali AWS**, specifica AWS le credenziali per l'autenticazione in base a un utente IAM. 

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

   1.  (Facoltativo) Seleziona **Abilita le soglie di vulnerabilità**. Con questa opzione, puoi determinare se la compilazione fallisce se una vulnerabilità analizzata supera un valore. Se tutti i valori sono uguali`0`, la compilazione ha esito positivo, indipendentemente dal numero di vulnerabilità analizzate. Per il punteggio EPSS, il valore può essere compreso tra 0 e 1. Se una vulnerabilità analizzata supera un valore, la compilazione fallisce e tutte le vulnerabilità CVEs con un punteggio EPSS superiore al valore vengono visualizzate nella console. 

1.  Scegli **Save** (Salva). 

### Aggiungi Amazon Inspector Scan alla tua build utilizzando la Jenkins pipeline dichiarativa
<a name="w2aac39c17c19b7"></a>

 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. Sostituisci *IMAGE\$1PATH* con il percorso dell'immagine (ad esempio*alpine:latest*), *IAM\$1ROLE* con l'ARN del ruolo IAM che hai configurato nella fase 1 e *ID* con il tuo ID di Docker credenziale se utilizzi 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',
                archivePath: 'IMAGE_PATH', // Path to your container image or tar file
                awsRegion: 'REGION', // AWS region for scan requests
                iamRole: 'IAM ROLE', // IAM role ARN for authentication
                credentialId: 'Id', // Docker credentials (empty if public repo)
                awsCredentialId: 'AWS ID', // AWS credential ID for authentication
                awsProfileName: 'Profile Name', // AWS profile name to use
                sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning

                // Vulnerability threshold settings (updated parameter names)
                isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count
                countCritical: 0, // Max critical vulnerabilities before build fails
                countHigh: 0, // Max high vulnerabilities before build fails
                countMedium: 5, // Max medium vulnerabilities before build fails
                countLow: 10, // Max low vulnerabilities before build fails

                // EPSS (Exploit Prediction Scoring System) settings
                isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold
                epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0)

                // NEW FEATURE: CVE Suppression - ignore specific false positives
                isSuppressedCveEnabled: false, // Enable CVE suppression feature
                suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds

                // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues  
                isAutoFailCveEnabled: false, // Enable auto-fail CVE feature
                autoFailCveList: '' // Comma-separated list of CVEs that always fail build
                ])
            }
        }
    }
}
```

**Per scaricare manualmente la pipeline dichiarativa SBOMGen**
+  Per aggiungere Amazon Inspector Scan a una build, usa la seguente sintassi di esempio. Sostituisci *SBOMGEN\$1PATH* con il percorso del generatore SBOM di Amazon Inspector installato nella fase 3, *IMAGE\$1PATH* con il percorso dell'immagine (ad esempio*alpine:latest*), con *IAM\$1ROLE* l'ARN del ruolo IAM configurato nella fase 1 e *ID* con il tuo ID Docker credenziale se utilizzi un repository privato. Facoltativamente, puoi abilitare le soglie di vulnerabilità e specificare i valori per ogni gravità. 

**Nota**  
 SbomgenInseriscilo 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',
                archivePath: 'IMAGE_PATH', // Path to your container image or tar file
                awsRegion: 'REGION', // AWS region for scan requests
                iamRole: 'IAM ROLE', // IAM role ARN for authentication
                credentialId: 'Id', // Docker credentials (empty if public repo)
                awsCredentialId: 'AWS ID', // AWS credential ID for authentication
                awsProfileName: 'Profile Name', // AWS profile name to use
                sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning

                // Vulnerability threshold settings (updated parameter names)
                isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count
                countCritical: 0, // Max critical vulnerabilities before build fails
                countHigh: 0, // Max high vulnerabilities before build fails
                countMedium: 5, // Max medium vulnerabilities before build fails
                countLow: 10, // Max low vulnerabilities before build fails

                // EPSS (Exploit Prediction Scoring System) settings
                isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold
                epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0)

                // NEW FEATURE: CVE Suppression - ignore specific false positives
                isSuppressedCveEnabled: false, // Enable CVE suppression feature
                suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds

                // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues  
                isAutoFailCveEnabled: false, // Enable auto-fail CVE feature
                autoFailCveList: '' // Comma-separated list of CVEs that always fail build
                ])
            }
        }
    }
}
```

 Il plugin include funzionalità per la gestione delle vulnerabilità di sicurezza. 

**Elenco CVE soppresso**  
 Le scansioni possono occasionalmente rilevare vulnerabilità che non sono minacce reali. *Per evitare che questi falsi positivi interrompano la compilazione, puoi aggiungerli a un elenco soppresso.* 

```
isSuppressedCveEnabled: true,
suppressedCveList: 'CVE-2023-1234,CVE-2023-5678'
```

 Ciò ignora lo specifico CVEs quando si verifica se la build deve fallire. Dovresti aggiungere falsi positivi all'elenco soppresso solo se li hai risolti. Dopo aver aggiunto queste vulnerabilità all'elenco delle vulnerabilità eliminate, vengono CVEs comunque visualizzate nel rapporto di sicurezza, ma non causeranno errori di compilazione. 

**Elenco CVE con errore automatico**  
 Per le vulnerabilità di sicurezza critiche, puoi creare un elenco che causi sempre il fallimento della compilazione. 

```
isAutoFailCveEnabled: true,
autoFailCveList: 'CVE-2024-9999'
```

 Ciò causa sempre il fallimento delle tue build, indipendentemente dalle impostazioni che hai abilitato. Dovresti creare questo elenco solo per problemi di sicurezza ad alta priorità che non dovrebbero mai essere implementati. L'elenco sostituisce tutte le altre impostazioni di soglia per la massima sicurezza. 

## Fase 7. Visualizza il report sulla vulnerabilità di Amazon Inspector
<a name="cicd-jenkin-view-vulnerability-report"></a>

1.  Completa una nuova build del tuo progetto. 

1.  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 illustrato un esempio di report HTML: 

![\[Esempio di report di vulnerabilità di Amazon Inspector.\]](http://docs.aws.amazon.com/it_it/inspector/latest/user/images/report.png)


**Nota**  
 Puoi usare script precedenti, poiché il plugin supporta vecchi nomi di parametri. Tuttavia, nella console verranno visualizzati degli avvisi che suggeriscono di aggiornare questi parametri con quelli più recenti. Ad esempio, se si utilizza`isThresholdEnabled`, verrà visualizzato un avviso che suggerisce di aggiornare il parametro a. `isSeverityThresholdEnabled` 

## Risoluzione dei problemi
<a name="jenkins-troubleshooting"></a>

 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
<a name="w2aac39c17c23b5"></a>

**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`. 

### Impossibile caricare l'immagine da fonti tarball, locali o remote
<a name="w2aac39c17c23b7"></a>

**Errore:**  
 `2024/10/16 02:25:17 [ImageDownloadFailed]: failed to load image from tarball, local, or remote sources.` 

**Nota**  
 Questo errore può verificarsi se il plug-in Jenkins non è in grado di leggere l'immagine del contenitore, l'immagine del contenitore non viene trovata nel Docker motore e l'immagine del contenitore non viene trovata nel registro del contenitore remoto. 

**Risoluzione:**  
 Verifica quanto segue; 
+  L'utente del plugin Jenkins dispone dei permessi di lettura per l'immagine che desideri scansionare. 
+  L'immagine che desideri scansionare è presente nel Docker motore. 
+  L'URL dell'immagine remota è corretto. 
+  Sei autenticato nel registro remoto (se applicabile). 

### Errore di percorso Inspector-SBOMGen
<a name="w2aac39c17c23b9"></a>

**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.](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

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

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

1.  Salva la configurazione ed esegui il Jenkins lavoro. 