

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso del complemento Jenkins de Amazon Inspector
<a name="cicd-jenkins"></a>

 El complemento Jenkins aprovecha el binario del [Generador de SBOM de Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#sbomgen-supported) y la API de Escaneo de Amazon Inspector para generar informes detallados al final de la compilación, de modo que pueda investigar y corregir los riesgos antes de la implementación. Con el complemento Jenkins de Amazon Inspector, puede agregar análisis de vulnerabilidades de Amazon Inspector a la canalización de Jenkins. Los análisis de vulnerabilidades de Amazon Inspector se pueden configurar para que aprueben o rechacen las ejecuciones en las canalizaciones en función de la cantidad y la gravedad de las vulnerabilidades detectadas. Puedes ver la última versión del Jenkins plugin en el Jenkins mercado en [https://plugins.jenkins.io/amazon-inspector-image-scanner/](https://plugins.jenkins.io/amazon-inspector-image-scanner/). En los siguientes pasos, se describe cómo configurar el complemento  Jenkins de Amazon Inspector. 

**importante**  
 Antes de completar los siguientes pasos, debe actualizar Jenkins a la versión 2.387.3 o superior para que se ejecute el complemento. 

## Paso 1. Configura un Cuenta de AWS
<a name="cicd-jenkins-enable"></a>

 Configure una Cuenta de AWS con una función de IAM que permita el acceso a la API de escaneo de Amazon Inspector. Para obtener instrucciones, consulte [Configuración de una AWS cuenta para usar la CI/CD integración de Amazon Inspector](configure-cicd-account.md). 

## Paso 2. Instalación del complemento Jenkins de Amazon Inspector
<a name="cicd-jenkins-install-jenkins-plugin"></a>

 En el procedimiento siguiente se describe cómo instalar el complemento Jenkins de Amazon Inspector desde el panel de Jenkins. 

1.  En el panel de Jenkins, elija **Administrar Jenkins** y, a continuación, elija **Administrar complementos**. 

1.  Elija **Disponible**. 

1.  En la pestaña **Disponible**, busque **Escaneos de Amazon Inspector** y, a continuación, instale el complemento. 

## (Opcional) Paso 3. Agregación de credenciales de Docker a Jenkins
<a name="cicd-jenkins-add-jenkins"></a>

**nota**  
 Agregue credenciales de docker solo si la imagen de Docker está en un repositorio privado. De lo contrario, omita este paso. 

 En el procedimiento siguiente se describe cómo agregar credenciales de Docker a Jenkins desde el panel de Jenkins. 

1.  En el panel de Jenkins, elija **Administrar Jenkins**, **Credenciales** y, a continuación, **Sistema**. 

1.  Elija **Credenciales globales** y, a continuación, **Agregar credenciales**. 

1.  Para **Tipo**, seleccione **Nombre de usuario con contraseña**. 

1.  Para **Ámbito**, seleccione **Global (Jenkins, nodos, elementos, todos los elementos secundarios, etc.)**. 

1.  Ingrese los detalles y, a continuación, elija **Aceptar**. 

## (Opcional) Paso 4. Añada credenciales AWS
<a name="cicd-jenkins-add-aws-credentials"></a>

**nota**  
 Añada AWS credenciales únicamente si quiere autenticarse en función de un usuario de IAM. De lo contrario, omita este paso. 

 El siguiente procedimiento describe cómo añadir AWS credenciales desde el Jenkins panel de control. 

1.  En el panel de Jenkins, elija **Administrar Jenkins**, **Credenciales** y, a continuación, **Sistema**. 

1.  Elija **Credenciales globales** y, a continuación, **Agregar credenciales**. 

1.  Para **Tipo**, seleccione **Credenciales de AWS**. 

1.  Ingrese los detalles, incluidos el **ID de la clave de acceso** y la **clave de acceso secreta**, y, a continuación, elija **Aceptar**. 

## Paso 5. Agregación de compatibilidad con CSS en un script de Jenkins
<a name="cicd-jenkins-add-css-support"></a>

 En el procedimiento siguiente se describe cómo agregar compatibilidad con CSS en un script de Jenkins. 

1.  Reinicie Jenkins. 

1.  En el panel, elija **Administrar Jenkins**, **Nodos**, **Nodo integrado** y, a continuación, **Consola de script**. 

1.  En el cuadro de texto, agregue la línea `System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")` y, a continuación, elija **Ejecutar**. 

## Paso 6. Agregación de Escaneo de Amazon Inspector a la compilación
<a name="cicd-jenkins-add-inspector-scan"></a>

 Puede añadir Amazon Inspector Scan a su compilación añadiendo un paso de compilación en su proyecto o utilizando la canalización declarativa de Jenkins. 

### Escaneo de Amazon Inspector a la compilación mediante la agregación de un paso de compilación en el proyecto
<a name="w2aac39c17c19b5"></a>

1.  En la página de configuración, desplácese hacia abajo hasta **Pasos de compilación** y elija **Agregar paso de compilación**. A continuación, seleccione **Escaneo de Amazon Inspector**. 

1.  Elija entre dos métodos de instalación realizados por el inspector: **Automático** o **Manual**. La opción automática permite que el complemento descargue la versión más reciente. También garantiza que siempre tenga las características más recientes, actualizaciones de seguridad y correcciones de errores. 

   1.  (Opción 1) Elija **Automático** para descargar la última versión de inspector-sbomgen. Esta opción detecta automáticamente el sistema operativo y la arquitectura de la CPU que se utilizan actualmente. 

   1.  (Opción 2) Elija **Manual** si desea configurar el binario del generador de SBOM de Amazon Inspector para analizarlo. Si elige este método, asegúrese de proporcionar la ruta completa a una versión de inspector-sbomgen previamente descargada. 

    Para obtener más información, consulte [Instalación del Generador de SBOM de Amazon Inspector (Sbomgen)](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen) en el [Generador de SBOM de Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html). 

1.  Complete lo siguiente para terminar de configurar el paso de compilación de Amazon Inspector Scan: 

   1.  Introduzca su **ID de imagen**. La imagen puede ser local, remota o archivada. Los nombres de las imágenes deben seguir la convención de nomenclatura de Docker. Si analiza una imagen exportada, proporcione la ruta al archivo tar esperado. Para ver un ejemplo, consulte las siguientes rutas de identificadores de imágenes: 

      1.  Para contenedores locales o remotos: `NAME[:TAG|@DIGEST]` 

      1.  Para un archivo tar: `/path/to/image.tar` 

   1.  Seleccione una **Región de AWS** para enviar la solicitud de análisis. 

   1.  (Opcional) Para **Informar de nombre de artefacto**, ingrese un nombre personalizado para los artefactos generados durante el proceso de creación. Esto ayuda a identificarlos y administrarlos de forma única. 

   1.  (Opcional) En **Omitir archivos**, especifique uno o más directorios que desee excluir del análisis. Tenga en cuenta esta opción para los directorios que no necesiten analizarse debido a su tamaño. 

   1.  (Opcional) Para las **credenciales de Docker**, seleccione su nombre de usuario de Docker. Haga esto solo si la imagen del contenedor está en un repositorio privado. 

   1.  (Opcional) Puede proporcionar los siguientes métodos de AWS autenticación compatibles: 

      1.  (Opcional) Para el rol de **IAM, proporcione un ARN de rol** (arn:aws:iam: ::role/). *AccountNumber* *RoleName* 

      1.  (Opcional) En el caso de **las credenciales de AWS**, especifique AWS las credenciales para autenticarse en función de un usuario de IAM. 

      1.  (Opcional) Para **nombre del perfil de AWS **, proporcione el nombre de un perfil para autenticación con un nombre de perfil. 

   1.  (Opcional) Seleccione **Habilitar umbrales de vulnerabilidad**. Con esta opción, puede determinar si la compilación produce un error si una vulnerabilidad analizada supera un valor. Si todos los valores son iguales a `0`, la compilación se realiza correctamente, independientemente del número de vulnerabilidades que se analicen. Para la puntuación de EPSS, el valor puede oscilar entre 0 y 1. Si una vulnerabilidad escaneada supera un valor, se produce un error en la compilación y todas las vulnerabilidades CVEs con una puntuación de EPSS superior a ese valor se muestran en la consola. 

1.  Seleccione **Save**. 

### Agregación de Escaneo de Amazon Inspector a la compilación mediante la canalización declarativa de Jenkins
<a name="w2aac39c17c19b7"></a>

 Puede agregar Escaneo de Amazon Inspector a la compilación mediante la canalización declarativa de Jenkins de forma automática o manual. 

**Para descargar automáticamente la canalización SBOMGen declarativa**
+  Para agregar Escaneo de Amazon Inspector a una compilación, utilice la siguiente sintaxis de ejemplo. *IMAGE\$1PATH*Sustitúyala por la ruta a tu imagen (por ejemplo*alpine:latest*), *IAM\$1ROLE* por el ARN de la función de IAM que configuraste en el paso 1 y *ID* por tu ID de Docker credencial si utilizas un repositorio privado. Si lo desea, puede habilitar los umbrales de vulnerabilidad y especificar valores para cada gravedad. 

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

**Para descargar manualmente la canalización declarativa SBOMGen**
+  Para agregar Escaneo de Amazon Inspector a una compilación, utilice la siguiente sintaxis de ejemplo. *SBOMGEN\$1PATH*Sustitúyala por la ruta al generador SBOM de Amazon Inspector que instalaste en el paso 3, *IMAGE\$1PATH* por la ruta a tu imagen (por ejemplo*alpine:latest*), *IAM\$1ROLE* por el ARN del rol de IAM que configuraste en el paso 1 y *ID* por tu ID de Docker credencial si utilizas un repositorio privado. Si lo desea, puede habilitar los umbrales de vulnerabilidad y especificar valores para cada gravedad. 

**nota**  
 SbomgenColóquelo en el directorio de Jenkins y proporcione la ruta al directorio de Jenkins en el complemento (por ejemplo,). */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
                ])
            }
        }
    }
}
```

 El complemento incluye características para administrar las vulnerabilidades de seguridad. 

**Lista de CVE suprimidas**  
 En ocasiones, los análisis pueden detectar vulnerabilidades que no son amenazas reales. Para evitar que estos falsos positivos detengan la compilación, puede agregarlos a una lista *suprimida*. 

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

 Esto ignora las especificaciones a la CVEs hora de comprobar si tu compilación debe fallar. Solo debe agregar falsos positivos a la lista suprimida si los ha abordado. Tras añadir estas vulnerabilidades a la lista suprimida, CVEs seguirán apareciendo en el informe de seguridad, pero no provocarán errores de compilación. 

**Lista de CVE con errores automáticos**  
 En el caso de las vulnerabilidades de seguridad críticas, puede crear una lista que siempre provoque errores en la compilación. 

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

 Esto siempre provoca que las compilaciones produzcan error, independientemente de la configuración que haya habilitado. Solo debe crear esta lista para problemas de seguridad de alta prioridad que nunca se deberían implementar. La lista invalida todos los demás valores de umbral para garantizar la máxima seguridad. 

## Paso 7. Consulta del informe de vulnerabilidades de Amazon Inspector
<a name="cicd-jenkin-view-vulnerability-report"></a>

1.  Complete una nueva versión de su proyecto. 

1.  Después de completar la compilación, seleccione un formato de salida de los resultados. Al seleccionar HTML, tiene la opción de descargar una versión JSON SBOM o CSV del informe. A continuación, se muestra un ejemplo de un informe HTML: 

![\[Ejemplo de un informe de vulnerabilidades de Amazon Inspector.\]](http://docs.aws.amazon.com/es_es/inspector/latest/user/images/report.png)


**nota**  
 Puede usar scripts más antiguos, ya que el complemento admite nombres de parámetros antiguos. Sin embargo, verá advertencias en la consola que sugieren que actualice estos parámetros por otros más nuevos. Por ejemplo, si lo usa `isThresholdEnabled`, aparecerá una advertencia que le sugerirá que actualice el parámetro a `isSeverityThresholdEnabled`. 

## Resolución de problemas
<a name="jenkins-troubleshooting"></a>

 A continuación, se muestran errores comunes que puede encontrar al utilizar el complemento de Escaneo de Amazon Inspector para Jenkins. 

### No se han podido cargar las credenciales o se ha producido un error de excepción de sts
<a name="w2aac39c17c23b5"></a>

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

**Resolución**  
 Obtenga `aws_access_key_id` y `aws_secret_access_key` para su AWS cuenta. Configure `aws_access_key_id` y `aws_secret_access_key` en `~/.aws/credentials`. 

### No se pudo cargar la imagen desde fuentes tarball, locales o remotas
<a name="w2aac39c17c23b7"></a>

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

**nota**  
 Este error puede producirse si el complemento de Jenkins no puede leer la imagen del contenedor, la imagen del contenedor no se encuentra en el motor de Docker y la imagen del contenedor no se encuentra en el registro del contenedor remoto. 

**Solución:**  
 Compruebe lo siguiente; 
+  El usuario del complemento de Jenkins tiene permisos de lectura sobre la imagen que desea analizar. 
+  La imagen que desea analizar está presente en el motor de Docker. 
+  La URL de la imagen remota es correcta. 
+  Está autenticado en el registro remoto (si corresponde). 

### Error de ruta inspector-sbomgen
<a name="w2aac39c17c23b9"></a>

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

**Solución**  
 Complete el siguiente procedimiento para resolver el problema. 

1.  Coloque el Inspector-sbomgen de arquitectura del sistema operativo correcto en el directorio Jenkins. Para obtener más información, consulte [Generador de SBOM de Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html). 

1.  Otorgue los permisos ejecutables al binario mediante el siguiente comando: `chmod +x inspector-sbomgen`. 

1.  Proporcione la ruta de la máquina de Jenkins correcta en el complemento, por ejemplo `/opt/folder/arm64/inspector-sbomgen`. 

1.  Guarde la configuración y ejecute el trabajo de Jenkins. 