

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Den Amazon Inspector verwenden Jenkins Plugin
<a name="cicd-jenkins"></a>

 Das Jenkins Plugin nutzt die [ Amazon Inspector SBOM ](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#sbomgen-supported) Generator-Binärdatei und die Amazon Inspector Scan API, um am Ende Ihres Builds detaillierte Berichte zu erstellen, sodass Sie Risiken vor der Bereitstellung untersuchen und beheben können. Mit dem Amazon Jenkins Inspector-Plugin können Sie Amazon Inspector-Schwachstellen-Scans zu Ihrer Pipeline hinzufügen. Jenkins Amazon Inspector-Sicherheitslücken können je nach Anzahl und Schweregrad der erkannten Sicherheitslücken so konfiguriert werden, dass sie Pipeline-Ausführungen bestehen oder nicht. Die neueste Version des Jenkins Plugins finden Sie auf dem Jenkins Marktplatz unter [ https://plugins.jenkins.io/amazon-inspector-image-scanner/](https://plugins.jenkins.io/amazon-inspector-image-scanner/). In den folgenden Schritten wird beschrieben, wie Sie das Amazon  Jenkins Inspector-Plugin einrichten. 

**Wichtig**  
 Bevor Sie die folgenden Schritte ausführen, müssen Sie Jenkins auf Version 2.387.3 oder höher aktualisieren, damit das Plugin ausgeführt werden kann. 

## Schritt 1. Richten Sie eine ein AWS-Konto
<a name="cicd-jenkins-enable"></a>

 Konfigurieren Sie eine AWS-Konto mit einer IAM-Rolle, die den Zugriff auf die Amazon Inspector Scan API ermöglicht. Detaillierte Anweisungen finden Sie unter [Einrichtung einer AWS Konto, um die Amazon CI/CD Inspector-Integration zu verwenden](configure-cicd-account.md). 

## Schritt 2. Installieren Sie das Amazon Inspector Jenkins-Plugin
<a name="cicd-jenkins-install-jenkins-plugin"></a>

 Das folgende Verfahren beschreibt, wie Sie das Amazon Inspector Jenkins-Plugin vom Dashboard aus installieren. Jenkins 

1.  Wählen Sie im Jenkins-Dashboard die Option Jenkins ** ** verwalten und dann Plugins verwalten aus. ** ** 

1.  **Wählen Sie Verfügbar aus. ** 

1.  Suchen Sie auf der ** Registerkarte ** Verfügbar nach ** Amazon Inspector Scans ** und installieren Sie dann das Plugin. 

## (Optional) Schritt 3. Fügen Sie Docker-Anmeldeinformationen hinzu Jenkins
<a name="cicd-jenkins-add-jenkins"></a>

**Anmerkung**  
 Fügen Sie Docker-Anmeldeinformationen nur hinzu, wenn sich das Docker-Image in einem privaten Repository befindet. Andernfalls überspringen Sie diesen Schritt. 

 Das folgende Verfahren beschreibt, wie Sie Docker-Anmeldeinformationen vom Dashboard Jenkins aus hinzufügen. Jenkins 

1.  Wählen Sie im Jenkins-Dashboard Jenkins ** verwalten**, ** Anmeldeinformationen ** und dann System aus. ** ** 

1.  Wählen Sie ** Globale Anmeldeinformationen ** und dann Anmeldeinformationen hinzufügen aus. ** ** 

1.  Wählen Sie für ** Art ** die Option ** Benutzername mit Passwort aus**. 

1.  Wählen Sie für ** Umfang ** die Option ** Global (Jenkins, Knoten, Elemente, alle untergeordneten Elemente usw.) aus. ** 

1.  Geben Sie Ihre Daten ein und wählen Sie ** dann OK. ** 

## (Optional) Schritt 4. Addition AWS Anmeldedaten
<a name="cicd-jenkins-add-aws-credentials"></a>

**Anmerkung**  
 Fügen Sie AWS Anmeldeinformationen nur hinzu, wenn Sie sich anhand eines IAM-Benutzers authentifizieren möchten. Andernfalls überspringen Sie diesen Schritt. 

 Das folgende Verfahren beschreibt, wie Sie AWS Anmeldeinformationen aus dem Jenkins Dashboard hinzufügen. 

1.  Wählen Sie im Jenkins-Dashboard Jenkins ** verwalten ****, ** Anmeldeinformationen und dann System aus. ** ** 

1.  Wählen Sie ** Globale Anmeldeinformationen ** und dann Anmeldeinformationen hinzufügen aus. ** ** 

1.  Wählen Sie für ** Kind ** die Option ** AWS-Anmeldeinformationen aus**. 

1.  Geben Sie Ihre Daten ein, einschließlich Ihrer ** Zugriffsschlüssel-ID ** und Ihres ** geheimen Zugriffsschlüssels**, und wählen Sie dann ** OK**. 

## Schritt 5. Fügen Sie CSS-Unterstützung in einem hinzu Jenkins script
<a name="cicd-jenkins-add-css-support"></a>

 Das folgende Verfahren beschreibt, wie Sie CSS-Unterstützung in einem Jenkins Skript hinzufügen. 

1.  Starten Sie Jenkins neu. 

1.  Wählen Sie im Dashboard ** Manage Jenkins**, ** Nodes ****, ** Built-In Node und dann ** Script Console aus. ** 

1.  Fügen Sie im Textfeld die Zeile `System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")` hinzu und wählen Sie ** dann Run. ** 

## Schritt 6: Fügen Sie Amazon Inspector Scan zu Ihrem Build hinzu
<a name="cicd-jenkins-add-inspector-scan"></a>

 Sie können Amazon Inspector Scan zu Ihrem Build hinzufügen, indem Sie Ihrem Projekt einen Build-Schritt hinzufügen oder die Jenkins deklarative Pipeline verwenden. 

### Amazon Inspector Scan zu Ihrem Build, indem Sie Ihrem Projekt einen Build-Schritt hinzufügen
<a name="w2aac41c19c19b5"></a>

1.  Scrollen Sie auf der Konfigurationsseite nach unten zu ** Build Steps ** und wählen Sie Build Step ** hinzufügen aus**. Wählen Sie dann ** Amazon Inspector Scan aus**. 

1.  Wählen Sie zwischen zwei Inspector-Sbomgen-Installationsmethoden: ** Automatisch oder Manuell. ** ** ** Die automatische Option ermöglicht es dem Plugin, die neueste Version herunterzuladen. Es stellt außerdem sicher, dass Sie immer über die neuesten Funktionen, Sicherheitsupdates und Bugfixes verfügen. 

   1.  (Option 1) Wählen Sie ** Automatisch**, um die neueste Version von inspector-sbomgen herunterzuladen. Diese Option erkennt automatisch das Betriebssystem und die CPU-Architektur, die derzeit verwendet werden. 

   1.  (Option 2) Wählen Sie ** Manuell, ** wenn Sie die Amazon Inspector SBOM Generator-Binärdatei für das Scannen einrichten möchten. Wenn Sie sich für diese Methode entscheiden, stellen Sie sicher, dass Sie den vollständigen Pfad zu einer zuvor heruntergeladenen Version von inspector-sbomgen angeben. 

    Weitere Informationen finden Sie unter Amazon Inspector SBOM Generator (Sbomgen) in Amazon Inspector SBOM Generator [ installieren. ](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen) [https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

1.  Gehen Sie wie folgt vor, um die Konfiguration des Amazon Inspector Scan-Builds abzuschließen: 

   1.  Geben Sie Ihre ** Image-ID ein**. Das Bild kann lokal, remote oder archiviert sein. Bildnamen sollten der Docker Namenskonvention folgen. Wenn Sie ein exportiertes Bild analysieren, geben Sie den Pfad zur erwarteten TAR-Datei an. Sehen Sie sich das folgende Beispiel für Image-ID-Pfade an: 

      1.  Für lokale oder Remote-Container: `NAME[:TAG|@DIGEST]` 

      1.  Für eine TAR-Datei: `/path/to/image.tar` 

   1.  Wählen Sie eine aus **AWS-Region**, über die die Scananfrage gesendet werden soll. 

   1.  (Optional) Geben Sie unter Name des ** Berichtsartefakts einen benutzerdefinierten Namen für die Artefakte ein**, die während des Build-Prozesses generiert wurden. Dies hilft, sie eindeutig zu identifizieren und zu verwalten. 

   1.  (Optional) Geben Sie für Dateien ** überspringen ein oder mehrere Verzeichnisse an**, die Sie vom Scannen ausschließen möchten. Ziehen Sie diese Option für Verzeichnisse in Betracht, die aufgrund ihrer Größe nicht gescannt werden müssen. 

   1.  (Optional) Wählen Sie für ** Docker-Anmeldeinformationen ** Ihren Docker Benutzernamen aus. Tun Sie dies nur, wenn sich Ihr Container-Image in einem privaten Repository befindet. 

   1.  (Optional) Sie können die folgenden unterstützten AWS Authentifizierungsmethoden angeben: 

      1.  (Optional) Geben Sie für die ** IAM-Rolle ** einen Rollen-ARN an (arn:aws:iam: ::role/). {{AccountNumber}} {{RoleName}} 

      1.  (Optional) Geben Sie für ** AWS-Anmeldeinformationen die Anmeldeinformationen zur Authentifizierung anhand eines IAM-Benutzers an**. AWS 

      1.  (Optional) Geben Sie für den **AWS Profilnamen den Namen eines Profils an**, das mithilfe eines Profilnamens authentifiziert werden soll. 

   1.  (Optional) Wählen Sie Schwellenwerte ** für Sicherheitslücken ** aktivieren aus. Mit dieser Option können Sie feststellen, ob Ihr Build fehlschlägt, wenn eine gescannte Sicherheitslücke einen bestimmten Wert überschreitet. Wenn alle Werte gleich sind`0`, ist der Build erfolgreich, unabhängig davon, wie viele Sicherheitslücken gescannt werden. Für den EPSS-Score kann der Wert zwischen 0 und 1 liegen. Wenn eine gescannte Sicherheitslücke einen Wert überschreitet, schlägt der Build fehl und alle CVEs mit einem EPSS-Wert über dem Wert werden in der Konsole angezeigt. 

1.  Wählen Sie **Speichern**. 

### Fügen Sie Amazon Inspector Scan zu Ihrem Build hinzu, indem Sie den Jenkins deklarative Pipeline
<a name="w2aac41c19c19b7"></a>

 Sie können Amazon Inspector Scan mithilfe der deklarativen Jenkins-Pipeline automatisch oder manuell zu Ihrem Build hinzufügen. 

**Um die deklarative SBOMGen-Pipeline automatisch herunterzuladen**
+  Verwenden Sie die folgende Beispielsyntax, um Amazon Inspector Scan zu einem Build hinzuzufügen. {{IMAGE\_PATH}}Ersetzen Sie es durch den Pfad zu Ihrem Image (z. B.{{alpine:latest}}), {{IAM\_ROLE}} durch den ARN der IAM-Rolle, die Sie in Schritt 1 konfiguriert haben, und {{ID}} durch Ihre Docker Anmeldeinformations-ID, wenn Sie ein privates Repository verwenden. Sie können optional Schwellenwerte für Sicherheitslücken aktivieren und Werte für jeden Schweregrad angeben. 

```
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
                ])
            }
        }
    }
}
```

**Um die deklarative SBOMGen-Pipeline manuell herunterzuladen**
+  Verwenden Sie die folgende Beispielsyntax, um Amazon Inspector Scan zu einem Build hinzuzufügen. {{SBOMGEN\_PATH}}Ersetzen Sie durch den Pfad zum Amazon Inspector SBOM Generator, den Sie in Schritt 3 installiert haben, {{IMAGE\_PATH}} durch den Pfad zu Ihrem Image (z. B.{{alpine:latest}}), durch den {{IAM\_ROLE}} ARN der IAM-Rolle, die Sie in Schritt 1 konfiguriert haben, und {{ID}} durch Ihre Docker Anmeldeinformations-ID, wenn Sie ein privates Repository verwenden. Sie können optional Schwellenwerte für Sicherheitslücken aktivieren und Werte für jeden Schweregrad angeben. 

**Anmerkung**  
 Platzieren Sie es Sbomgen im Jenkins-Verzeichnis und geben Sie den Pfad zum Jenkins-Verzeichnis im Plugin an (z. B.). {{/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
                ])
            }
        }
    }
}
```

 Das Plugin enthält Funktionen zur Verwaltung von Sicherheitslücken. 

**Unterdrückte CVE-Liste**  
 Bei Scans können gelegentlich Sicherheitslücken erkannt werden, bei denen es sich nicht um tatsächliche Bedrohungen handelt. Um zu verhindern, dass diese Fehlalarme Ihren Build stoppen, können Sie sie zu einer * Liste mit * unterdrückten Ergebnissen hinzufügen. 

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

 Dadurch werden bestimmte CVEs ignoriert, wenn überprüft wird, ob Ihr Build fehlschlagen sollte. Sie sollten der Liste der Unterdrückten nur dann Fehlalarme hinzufügen, wenn Sie diese behoben haben. Nachdem Sie diese Sicherheitslücken zur Liste der unterdrückten Sicherheitslücken hinzugefügt haben, werden die CVEs weiterhin in Ihrem Sicherheitsbericht angezeigt, sie führen jedoch nicht zu Build-Fehlern. 

**Auto-Fail CVE-Liste**  
 Für kritische Sicherheitslücken können Sie eine Liste erstellen, die immer dazu führt, dass Ihr Build fehlschlägt. 

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

 Dies führt immer dazu, dass Ihre Builds fehlschlagen, unabhängig davon, welche Einstellungen Sie aktiviert haben. Sie sollten diese Liste nur für Sicherheitsprobleme mit hoher Priorität erstellen, die niemals implementiert werden sollten. Die Liste überschreibt alle anderen Schwellenwerteinstellungen, um maximale Sicherheit zu gewährleisten. 

## Schritt 7. Sehen Sie sich Ihren Amazon Inspector Schwachstellenbericht an
<a name="cicd-jenkin-view-vulnerability-report"></a>

1.  Vervollständigen Sie einen neuen Build Ihres Projekts. 

1.  Wählen Sie nach Abschluss des Builds ein Ausgabeformat aus den Ergebnissen aus. Wenn Sie HTML auswählen, haben Sie die Möglichkeit, eine JSON-SBOM- oder CSV-Version des Berichts herunterzuladen. Das Folgende zeigt ein Beispiel für einen HTML-Bericht: 

![Beispiel für einen Amazon Inspector-Schwachstellenbericht.](https://docs.aws.amazon.com/de_de/inspector/latest/user/images/report.png)


**Anmerkung**  
 Sie können ältere Skripts verwenden, da das Plugin alte Parameternamen unterstützt. In der Konsole werden Sie jedoch auf Warnungen stoßen, die darauf hinweisen, dass Sie diese Parameter auf neuere aktualisieren. Wenn Sie beispielsweise verwenden, wird eine Warnung angezeigt`isThresholdEnabled`, in der Sie aufgefordert werden, den Parameter auf zu aktualisieren`isSeverityThresholdEnabled`. 

## Fehlerbehebung
<a name="jenkins-troubleshooting"></a>

 Die folgenden Fehler können häufig auftreten, wenn Sie das Amazon Inspector Scan-Plugin für verwendenJenkins. 

### Anmeldeinformationen konnten nicht geladen werden oder es liegt ein Ausnahmefehler vor
<a name="w2aac41c19c23b5"></a>

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

**Auflösung**  
 Holen Sie sich `aws_access_key_id` und `aws_secret_access_key` für Ihr AWS Konto. Einrichten `aws_access_key_id` und `aws_secret_access_key` rein`~/.aws/credentials`. 

### Das Bild konnte nicht aus Tarball-, lokalen oder Remote-Quellen geladen werden
<a name="w2aac41c19c23b7"></a>

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

**Anmerkung**  
 Dieser Fehler kann auftreten, wenn das Jenkins-Plugin das Container-Image nicht lesen kann, das Container-Image nicht in der Docker Engine gefunden wird und das Container-Image nicht in der Remote-Container-Registry gefunden wird. 

**Auflösung**  
 Überprüfen Sie Folgendes: 
+  Der Benutzer des Jenkins-Plugins hat Leseberechtigungen für das Bild, das Sie scannen möchten. 
+  Das Bild, das Sie scannen möchten, ist in Docker der Engine vorhanden. 
+  Ihre Remote-Bild-URL ist korrekt. 
+  Sie sind bei der Remote-Registrierung authentifiziert (falls zutreffend). 

### Inspector-sbomgen Pfadfehler
<a name="w2aac41c19c23b9"></a>

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

**Auflösung**  
 Gehen Sie wie folgt vor, um das Problem zu beheben. 

1.  Platzieren Sie die richtige Betriebssystemarchitektur Inspector-sbomgen im Jenkins Verzeichnis. Weitere Informationen finden Sie unter [ Amazon Inspector SBOM Generator. ](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

1.  Gewähren Sie der Binärdatei mit dem folgenden Befehl die ausführbaren Berechtigungen:. `chmod +x inspector-sbomgen` 

1.  Geben Sie den richtigen Jenkins Computerpfad im Plugin an, z. `/opt/folder/arm64/inspector-sbomgen` B. 

1.  Speichern Sie die Konfiguration und führen Sie den Jenkins Job aus. 