Utilisation du Jenkins plugin Amazon Inspector - Amazon Inspector

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation du Jenkins plugin Amazon Inspector

Le Jenkins plugin utilise le binaire Amazon Inspector SBOM Generator et Amazon Inspector Scan API pour produire des rapports détaillés à la fin de votre build, afin que vous puissiez étudier et corriger les risques avant le déploiement. Avec le Jenkins plugin Amazon Inspector, vous pouvez ajouter des analyses de vulnérabilité Amazon Inspector à votre Jenkins pipeline. Les analyses de vulnérabilité d'Amazon Inspector peuvent être configurées pour réussir ou échouer les exécutions de pipeline en fonction du nombre et de la gravité des vulnérabilités détectées. Vous pouvez consulter la dernière version du Jenkins plugin sur le Jenkins marché à l'adresse https://plugins.jenkins.io/amazon-inspector-image-scanner/. Les étapes suivantes décrivent comment configurer le Jenkins plug-in Amazon Inspector.

Important

Avant d'effectuer les étapes suivantes, vous devez mettre à niveau Jenkins vers la version 2.387.3 ou supérieure pour que le plugin puisse s'exécuter.

Étape 1. Configurez un Compte AWS

Configurez un Compte AWS avec un IAM rôle qui autorise l'accès à Amazon Inspector ScanAPI. Pour obtenir des instructions, consultez Configuration d'un AWS compte pour utiliser l'intégration Amazon Inspector CI/CD.

Étape 2. Installez le plugin Jenkins d'Amazon Inspector

La procédure suivante décrit comment installer le plug-in Amazon Inspector Jenkins depuis le Jenkins tableau de bord.

  1. Dans le tableau de bord Jenkins, choisissez Manage Jenkins, puis Manage Plugins.

  2. Choisissez Disponible.

  3. Dans l'onglet Available, recherchez Amazon Inspector Scans, puis installez le plugin.

(Facultatif) Étape 3. Ajoutez les informations d'identification du docker à Jenkins

Note

Ajoutez les informations d'identification du docker uniquement si l'image du docker se trouve dans un référentiel privé. Sinon, Ignorez cette étape.

La procédure suivante décrit comment ajouter des informations d'identification docker Jenkins depuis le Jenkins tableau de bord.

  1. Dans le tableau de bord Jenkins, choisissez Manage Jenkins, Credentials, puis System.

  2. Choisissez Informations d'identification globales, puis Ajouter des informations d'identification.

  3. Pour Kind, sélectionnez Nom d'utilisateur avec mot de passe.

  4. Pour Scope, sélectionnez Global (Jenkins, nœuds, éléments, tous les éléments enfants, etc.).

  5. Entrez vos informations, puis cliquez sur OK.

(Facultatif) Étape 4. Ajouter des AWS informations d'identification

Note

Ajoutez des AWS informations d'identification uniquement si vous souhaitez vous authentifier en fonction d'un IAM utilisateur. Sinon, Ignorez cette étape.

La procédure suivante décrit comment ajouter des AWS informations d'identification depuis le Jenkins tableau de bord.

  1. Dans le tableau de bord Jenkins, choisissez Manage Jenkins, Credentials, puis System.

  2. Choisissez Informations d'identification globales, puis Ajouter des informations d'identification.

  3. Pour Kind, sélectionnez AWSCredentials.

  4. Entrez vos informations, y compris votre identifiant de clé d'accès et votre clé d'accès secrète, puis cliquez sur OK.

Étape 5. Ajouter un CSS support dans un Jenkins script

La procédure suivante décrit comment ajouter un CSS support dans un Jenkins script.

  1. Redémarrez Jenkins.

  2. Dans le tableau de bord, choisissez Manage Jenkins, Nodes, Built-In Node, puis Script Console.

  3. Dans la zone de texte, ajoutez la ligneSystem.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""), puis choisissez Exécuter.

Étape 6. Ajoutez Amazon Inspector Scan à votre build

Vous pouvez ajouter Amazon Inspector Scan à votre build en ajoutant une étape de compilation dans votre projet ou en utilisant le pipeline Jenkins déclaratif.

Amazon Inspector Scannez votre build en ajoutant une étape de compilation à votre projet

  1. Sur la page de configuration, faites défiler la page vers le bas jusqu'à Build Steps, puis choisissez Add build step. Sélectionnez ensuite Amazon Inspector Scan.

  2. Choisissez entre deux méthodes d'installation inspectors-sbomgen : automatique ou manuelle.

    1. (Option 1) Choisissez Automatique pour télécharger la dernière version d'inspectors-sbomgen. Si vous choisissez cette méthode, assurez-vous de sélectionner l'CPUarchitecture qui correspond au système qui exécute le plugin.

    2. (Option 2) Choisissez Manuel si vous souhaitez configurer le binaire Amazon Inspector SBOM Generator pour la numérisation. Si vous choisissez cette méthode, assurez-vous de fournir le chemin complet vers une version précédemment téléchargée de inspectors-sbomgen.

    Pour plus d'informations, consultez Installation d'Amazon Inspector SBOM Generator (Sbomgen) dans Amazon Inspector SBOM Generator.

  3. Pour terminer la configuration de l'étape de génération d'Amazon Inspector Scan, procédez comme suit :

    1. Entrez votre identifiant d'image. L'image peut être locale, distante ou archivée. Les noms des images doivent respecter la convention de Docker dénomination. Si vous analysez une image exportée, indiquez le chemin du fichier tar attendu. Consultez les exemples de chemins d'identification d'image suivants :

      1. Pour les conteneurs locaux ou distants : NAME[:TAG|@DIGEST]

      2. Pour un fichier tar : /path/to/image.tar

    2. Sélectionnez et par lequel Région AWSenvoyer la demande de numérisation.

    3. (Facultatif) Pour les informations d'identification Docker, sélectionnez votre Docker nom d'utilisateur. Procédez ainsi uniquement si l'image de votre conteneur se trouve dans un dépôt privé.

    4. (Facultatif) Vous pouvez fournir les méthodes AWS d'authentification prises en charge suivantes :

      1. (Facultatif) Pour IAMle rôle, indiquez un rôle ARN (arn:aws:iam : :AccountNumber:rôle/RoleName).

      2. (Facultatif) Pour les AWSinformations d'identification, sélectionnez l'identifiant pour vous authentifier en fonction d'un IAM utilisateur.

      3. (Facultatif) Pour le nom du AWS profil, indiquez le nom du profil à authentifier à l'aide d'un nom de profil.

    5. (Facultatif) Spécifiez les seuils de vulnérabilité par gravité. Si le nombre que vous spécifiez est dépassé lors d'une numérisation, la création de l'image échouera. Si les valeurs sont toutes0, la compilation réussira, que des vulnérabilités soient détectées ou non.

  4. Choisissez Save (Enregistrer).

Ajoutez Amazon Inspector Scan à votre build à l'aide du Jenkins pipeline déclaratif

Vous pouvez ajouter Amazon Inspector Scan à votre build à l'aide du pipeline déclaratif Jenkins automatiquement ou manuellement.

Pour télécharger automatiquement le pipeline SBOMGen déclaratif
  • Pour ajouter Amazon Inspector Scan à une version, utilisez l'exemple de syntaxe suivant. Selon l'architecture de système d'exploitation que vous préférez pour le téléchargement d'Amazon Inspector SBOM Generator, remplacez SBOMGEN_SOURCE avec linuxAmd 64 ou linuxArm 64. Remplacez IMAGE_PATH avec le chemin d'accès à votre image (tel que alpine:latest), IAM_ROLE avec le ARN IAM rôle que vous avez configuré à l'étape 1, et ID avec votre Docker identifiant d'identification si vous utilisez un dépôt privé. Vous pouvez éventuellement activer les seuils de vulnérabilité et spécifier des valeurs pour chaque 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, ]) } } } } }
Pour télécharger manuellement le pipeline SBOMGen déclaratif
  • Pour ajouter Amazon Inspector Scan à une version, utilisez l'exemple de syntaxe suivant. Remplacez SBOMGEN_PATH avec le chemin d'accès à l'Amazon Inspector SBOM Generator que vous avez installé à l'étape 3, IMAGE_PATH avec le chemin d'accès à votre image (tel que alpine:latest), IAM_ROLE avec le ARN IAM rôle que vous avez configuré à l'étape 1, et ID avec votre Docker identifiant d'identification si vous utilisez un dépôt privé. Vous pouvez éventuellement activer les seuils de vulnérabilité et spécifier des valeurs pour chaque gravité.

Note

SbomgenPlacez-le dans le répertoire Jenkins et fournissez le chemin d'accès au répertoire Jenkins dans le plugin (tel que /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, ]) } } } } }

Étape 7. Consultez votre rapport sur les vulnérabilités d'Amazon Inspector

  1. Réalisez une nouvelle version de votre projet.

  2. Une fois la génération terminée, sélectionnez un format de sortie parmi les résultats. Si vous le sélectionnezHTML, vous avez la possibilité de télécharger une CSV version JSON SBOM ou une version du rapport. Voici un exemple de HTML rapport :

Exemple de rapport de vulnérabilité d'Amazon Inspector.

Résolution des problèmes

Les erreurs suivantes sont courantes que vous pouvez rencontrer lors de l'utilisation du plug-in Amazon Inspector Scan pourJenkins.

Impossible de charger les informations d'identification ou erreur d'exception STS

Erreur :

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

Résolution

Obtenez aws_access_key_id et aws_secret_access_key pour votre AWS compte. Configuration aws_access_key_id et aws_secret_access_key installation~/.aws/credentials.

Erreur de chemin Inspector-SBOMGen

Erreur :

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

Résolution :

Suivez la procédure ci-dessous pour résoudre le problème.

  1. Placez l'architecture du système d'exploitation correcte Inspector-SBOMGen dans le Jenkins répertoire. Pour plus d'informations, consultez Amazon Inspector Generator. SBOM

  2. Accordez des autorisations exécutables au binaire à l'aide de la commande suivante :chmod +x inspector-sbomgen.

  3. Fournissez le chemin de Jenkins machine correct dans le plugin, par exemple/opt/folder/arm64/inspector-sbomgen.

  4. Enregistrez la configuration et exécutez le Jenkins travail.