Kaspersky Container Security

Ejecutar un análisis en GitLab

Para iniciar el análisis en el modo SBOM básico en GitLab, al configurar el análisis de imágenes en el proceso de CI/CD, debe editar el archivo de configuración .gitlab-ci.yml de la siguiente manera:

  1. Añada información sobre la imagen que se analizará en CI/CD de la siguiente manera:

    scan_image:

    stage: scanner

    image:

    name:repo.cloud.example.com/repository/company/scanner:v.2.0.0-lite

    entrypoint: [""]

    pull_policy: always

  2. Detalle la etiqueta de la plataforma de orquestación:

    k8s

    En el ejemplo, la etiqueta k8s se utiliza para Kubernetes, pero también puede especificar otra etiqueta para otra plataforma de orquestación compatible.

  3. Especifique el ID de compilación, los datos del registro de imágenes de la imagen analizada y del certificado para establecer una conexión segura con el registro, el ID de la canalización y el token de la API para autorizar las solicitudes del análisis de CI/CD en Kaspersky Container Security de la siguiente manera:

    SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

    COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}

    COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}

    COMPANY_EXT_REGISTRY_TLS_CERT: ${COMPANY_EXT_REGISTRY_TLS_CERT}

    BUILD_NUMBER: ${CI_JOB_ID}

    BUILD_PIPELINE: ${CI_PIPELINE_ID}

    API_TOKEN: <API token value>

    HTTP_PROXY: <servidor proxy para solicitudes HTTP>

    HTTPS_PROXY<proxy server for HTTPS requests>

    NO_PROXY<domains or appropriate domain masks to be excluded from proxying>

    Los datos del certificado para establecer una conexión segura con el registro de imágenes en la variable COMPANY_EXT_REGISTRY_TLS_CERT se especifican como una cadena en el formato .PEM:
    -----BEGIN CERTIFICATE-----\n... <datos del certificado> ...\n-----END CERTIFICATE----- .

  4. Si es necesario, especifique una variable para analizar el certificado de la API de la solución:

    API_CA_CERT: ${KCS_CA_CERT}

    Si no se configura la variable API_CA_CERT, el análisis comenzará, pero no podrá completarse.

  5. Especifique la dirección web del servidor host de la API de Kaspersky Container Security:

    API_BASE_URL – <web address>

  6. Especifique el comando para crear un artefacto en uno de los siguientes formatos cuando se inicie el análisis:
    • Para generar un artefacto en el formato .JSON:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json

      artifacts:

      paths:

      - artifact-result.json

    • Para generar un artefacto en el formato .HTML:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --html --stdout > artifact-result.html

      artifacts:

      paths:

      - artifact-result.html

    • Para generar un artefacto SBOM en el formato .SPDX:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --spdx --stdout > artifact-result.spdx

      artifacts:

      paths:

      - artifact-result.spdx

    • Para generar un artefacto SBOM en el formato .JSON:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --cdx --stdout > artifact-result.cdx.json

      artifacts:

      paths:

      - artifact-result.cdx.json

Ejemplo de un análisis configurado para ejecutarse en el modo SBOM básico y la generación de un artefacto en el formato .HTML en GitLab