Ejecutar un análisis fuera del proceso de CI/CD
En caso de recursos limitados, puede ejecutar la herramienta de análisis de Kaspersky Container Security independientemente de los nodos de trabajo en el proceso de CI/CD. Por ejemplo, mediante el comando docker run
en un nodo de Docker o como un Job en un clúster de Kubernetes.
Para ahorrar la mayor cantidad de recursos, recomendamos utilizar la imagen scanner: 2.0.0-lite, ya que no contiene bases de datos de vulnerabilidades y envía el archivo SBOM en función de los resultados del análisis de la imagen de destino a la solución que utiliza la API.
Para iniciar la herramienta de análisis de Kaspersky Container Security fuera del proceso de CI/CD, debe especificar los siguientes parámetros obligatorios:
API_TOKEN: el <
valor del token de la API
>
es el token del usuario de Kaspersky Container Security para la autenticación en la interfaz de la API de la solución.API_BASE_URL: la <
dirección web
>
es un enlace para acceder a la interfaz de la API de Kaspersky Container Security. Se puede acceder a la interfaz mediante los protocolos HTTP y HTTPS, según las variables de entorno de la solución desplegada.API_CA_CERT: el <
certificado en formato .PEM
>
es una variable para la validación del certificado de la API de la solución.SKIP_API_SERVER_VALIDATION = true
es una variable que, de ser necesario, se puede especificar para omitir la validación del certificado de la API de Kaspersky Container Security.
También puede especificar parámetros adicionales para el funcionamiento de la herramienta de análisis:
COMPANY_EXT_REGISTRY_USERNAME: el <
nombre de usuario del registro
>
es el nombre de usuario del registro donde se almacena la imagen que se va a analizar.COMPANY_EXT_REGISTRY_PASSWORD: la <
contraseña del usuario del registro
>
es la contraseña del usuario del registro donde se almacena la imagen que se va a analizar.BUILD_NUMBER: el <
ID del número de compilación
>
es el ID que se usa para rastrear el número de compilación en la interfaz de la solución. Kaspersky Container Security muestra el número en los resultados del análisis del proceso de CI/CD.BUILD_PIPELINE: el <
ID del número de canalización
>
es el identificador que se utiliza para rastrear el número de canalización en la interfaz de la solución. Kaspersky Container Security muestra el número en los resultados del análisis del proceso de CI/CD.HTTP_PROXY
: el <servidor proxy para solicitudes HTTP
>
es una variable que indica el uso de un servidor proxy HTTP cuando se requiere acceso a recursos externos.HTTPS_PROXY
: el <servidor proxy para solicitudes HTTPS
>
es una variable que indica el uso de un servidor proxy HTTPS cuando se requiere acceso a recursos externos.NO_PROXY
: los <dominios o máscaras correspondientes a dominios utilizados para la exclusión de proxy
>
son una variable que indica los recursos disponibles de manera local cuando se utiliza un servidor proxy.
Ejecutar un análisis en Docker
Para iniciar un análisis en el modo SBOM básico en Docker:
- Especifique los parámetros obligatorios para Kaspersky Container Security:
-e API_TOKEN=<valor del token de la API>
-e API_BASE_URL=https://company.com
-e API_CA_CERT: <
certificado en formato .PEM
>
o -e SKIP_API_SERVER_VALIDATION=true
- Si es necesario, especifique parámetros adicionales para Kaspersky Container Security.
- Especifique la imagen de análisis que se ejecutará:
repo.kcs.company.com/images/scanner:v2.0.0-lite
- Si necesita generar un artefacto para descargar, detalle la siguiente información:
--<formato del artefacto
--stdout > result.<file format>
Por ejemplo:
--html --stdout > result.html
- Asegúrese de que el archivo de configuración .docker/config.json contenga los datos para conectarse al registro de imágenes con la imagen de análisis. Si es necesario, ejecute uno de los siguientes comandos:
docker login repo.company.com
o docker login repo.kcs.kaspersky.com
. - Inicie el análisis.
Si aparece el mensaje de error de resolución de nombre de dominio (Name does not resolve
) al llamar al análisis, debe especificar la dirección antes de la variables API_BASE_URL
, antes del servidor interno DNS de la organización. Por ejemplo:
--dns 10.0.xx.x
Si la imagen de análisis y la imagen que se analizará están guardadas en su registro y necesita generar un artefacto con los resultados del análisis en formato .JSON, las variables iniciales del análisis se especifican de la siguiente manera:
docker run --dns 10.0.10.10 \
-e "API_BASE_URL=https://kcs.company.com" \
-e "SKIP_API_SERVER_VALIDATION=true" \
-e "API_TOKEN=${api_token}" \
-e "COMPANY_EXT_REGISTRY_USERNAME=${
user
}" \
-e "COMPANY_EXT_REGISTRY_PASSWORD=${
password
}"
repo.company.com/images/scanner:v2.0.0-lite \
repo.company.com/images/alpine:latest --stdout > result.json
Si la imagen de análisis se almacena en un registro público de Kaspersky (el nodo extrae esta imagen a través de su servidor proxy), la imagen analizada se almacena localmente en el nodo como un archivo comprimido y usted necesita generar un artefacto con los resultados del análisis en formato .SPDX, las variables iniciales del análisis se especifican de la siguiente manera:
docker run --dns 10.0.10.10 \
-e "API_BASE_URL=https://kcs.company.com" \
-e "SKIP_API_SERVER_VALIDATION=true" \
-e "API_TOKEN=${api_token}" \
-e "HTTPS_PROXY=http://
user:password
@cliente.proxy.com:8080" \
-v ./image_to_scan.tar:/image.tar \
repo.kcs.kaspersky.com/images/scanner:v2.0.0-lite \
image.tar --file --spdx --stdout > result.spdx
Ejecutar el análisis como un Job en un clúster de Kubernetes
Pasos para ejecutar el análisis en modo SBOM lite como un Job en un clúster de Kubernetes:
- Asegúrese de que el nodo que ejecuta los comandos contenga kubectl y el archivo de configuración para el clúster de Kubernetes correspondiente, y que sean accesibles para el usuario que ejecuta los comandos.
- Asegúrese de que exista un secreto en el espacio de nombres correspondiente para autenticar y descargar la imagen de análisis desde el registro en cuestión.
Puede crear el secreto usted mismo; por ejemplo, con el siguiente comando:
kubectl create secret docker-registry <nombre del secreto> --docker-server=<FQDN del repositorio> --docker-username=
nombre de usuario
--docker-password=
contraseña
- Especifique los valores de los parámetros obligatorios y adicionales (si corresponde) para que el análisis se ejecute como una tarea en el clúster de Kubernetes.
Los parámetros se especifican en el archivo usado para ejecutar el análisis en formato .YAML de la siguiente manera:
apiVersion: batch/v1
kind: Job
metadata:
name: my-lite-job
spec:
template:
spec:
containers:
- name: my-lite-container
image: repo.company.com/images/scanner:v2.0.0-lite
command: ["/bin/sh"]
args: ["entrypoint.sh", "alpine:latest"]
env:
- name: COMPANY_EXT_REGISTRY_USERNAME
value: <
usuario para la autenticación en el registro de imágenes donde se encuentra la imagen a analizar
>
- name: COMPANY_EXT_REGISTRY_PASSWORD
value: <
contraseña para la autenticación en el registro de imágenes donde se encuentra la imagen a analizar
>
- name: API_BASE_URL
value: https://kcs.company.local
- name: API_TOKEN
value: <
token para la autenticación en la API de Kaspersky Container Security
>
- name: SKIP_API_SERVER_VALIDATION
value: 'true'
imagePullPolicy: Always
restartPolicy: Never
imagePullSecrets:
- name: <
nombre del secreto para la autenticación y extracción de la imagen de análisis
>
backoffLimit: 0
- Inicie el análisis en el clúster de Kubernetes:
kubectl apply -f my-lite-job.yaml
ID de artículo: 301504, Última revisión: 20 may 2025