En este ejemplo, se utiliza una imagen específica para el análisis con bases de datos de vulnerabilidades incorporadas ubicadas en el registro de imágenes del fabricante de Kaspersky Container Security.
Para usar la funcionalidad de análisis de imágenes en el proceso de CI/CD de GitLab, debe activar el uso de GitLab Container Registry.
Configurar la integración comprende los pasos siguientes:
printf "login:password" | openssl base64 -A
donde "login" y "password" equivalen al nombre de usuario y la contraseña de la cuenta en el registro de imágenes del fabricante de Kaspersky Container Security.
{
"auths": {
"repo.cloud.example.com": {
"auth": "base64hash"
}
}
}
donde base64hash es la cadena obtenida en el paso 1.1.
Para añadir el análisis a la canalización CI/CD, debe añadir las siguientes líneas al archivo .gitlab-ci.yml:
scan_image:
stage: scanner
image:
name: repo.cloud.example.com/repository/company/scanner:v2.0-with-db
entrypoint: [""]
pull_policy: always
Recomendamos que siempre determine el parámetro pull_policy
para recibir las compilaciones relevantes que contienen las bases de datos actualizadas de vulnerabilidades y otros objetos maliciosos para cada análisis.
SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master
BUILD_NUMBER: ${CI_JOB_ID}
BUILD_PIPELINE: ${CI_PIPELINE_ID}
API_TOKEN: <API token value>
En este ejemplo, verá la etiqueta master
; también puede especificar otra etiqueta.
COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}
COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}
COMPANY_EXT_REGISTRY_TLS_CERT
como una cadena con el formato .PEM:-----BEGIN CERTIFICATE-----\n... <
datos del certificado
> ...\n-----END CERTIFICATE-----
.
HTTP_PROXY
– <proxy server for HTTP requests>
HTTPS_PROXY
– <proxy server for HTTPS requests>
NO_PROXY
– <domains or appropriate domain masks to be excluded from proxying>
API_CA_CERT: ${KCS_CA_CERT}El certificado de CA del controlador de entrada se determina en el campo de texto como cadena con el formato .PEM:
----- BEGIN CERTIFICATE ----- \ n...
<datos del certificado>
...\ n ----- END CERTIFICATE -----Si no se configura la variable
API_CA_CERT
, el análisis comenzará, pero no podrá completarse.Usar el certificado de CA del controlador de entrada permite al componente Scanner ejecutado en CI/CD verificar la autenticidad del servidor de recepción de datos.
Si utiliza un certificado autofirmado o desea omitir la verificación del servidor de recepción de datos con el certificado de CA del controlador de entrada, debe especificar el valor de la variable para omitir la verificación:
SKIP_API_SERVER_VALIDATION: 'true'
API_BASE_URL
– <web address>
variables:
API_BASE_URL: ${API_BASE_URL}
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json
artifacts:
paths:
- artifact-result.json
Después de configurar la integración a un registro externo, podrá analizar las imágenes en el proceso de CI/CD, incluso un análisis en el modo SBOM. Puede ver los resultados de los análisis en Resources → CI/CD o puede descargarlos en formatos .SPDX, .JSON o .HTML.
Inicio de página