卡巴斯基容器安全

在 GitLab 中运行扫描器

要在 GitLab 中精简版 SBOM 模式下启动扫描器,需在 CI/CD 进程中配置镜像扫描时编辑 .gitlab-ci.yml 配置文件,如下所示:

  1. 添加在 CI/CD 中启动用于镜像扫描的扫描器的镜像相关信息,如下所示:

    scan_image:

    stage: scanner

    image:

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

    entrypoint: [""]

    pull_policy: always

  2. 指定编排平台标签,如下所示:

    k8s

    在提供的示例中,为 Kubernetes 指定了 k8s 标签,您也可以为其他受支持的编排平台指定标签。

  3. 指定内部版本 ID、扫描镜像的镜像仓库数据和用于安全连接到此仓库的证书、管道 ID 和授权来自卡巴斯基容器安全中的 CI/CD 扫描程序的请求的 API 令牌等变量,如下所示:

    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 令牌值>

    HTTP_PROXY<用于 HTTP 请求的代理服务器>

    HTTPS_PROXY<用于 HTTPS 请求的代理服务器>

    NO_PROXY<要从代理范围排除的域或合适的域掩码>

    COMPANY_EXT_REGISTRY_TLS_CERT变量中用于与镜像仓库进行安全连接的证书的详细信息以 .PEM 格式的字符串指定:
    -----BEGIN CERTIFICATE-----\n... 证书详细信息> ...\n-----END CERTIFICATE-----

  4. 如果需要,指定一个用于扫描解决方案的 API 证书的变量:

    API_CA_CERT: ${KCS_CA_CERT}

    如果未设置 API_CA_CERT 变量,则扫描将会开始但无法完成。

  5. 指定卡巴斯基容器安全的 API 主机服务器的网址:

    API_BASE_URL: <网址>

  6. 指定在扫描器用以下其中一种受支持的格式启动时创建构件的命令:
    • 要生成 .JSON 格式的构件:

      script:

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

      artifacts:

      paths:

      - artifact-result.json

    • 要生成 .HTML 格式的构件:

      script:

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

      artifacts:

      paths:

      - artifact-result.html

    • 要生成 .SPDX 格式的 SBOM 构件:

      script:

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

      artifacts:

      paths:

      - artifact-result.spdx

    • 要生成 .JSON 格式的 SBOM 构件:

      script:

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

      artifacts:

      paths:

      - artifact-result.cdx.json

有关将扫描器配置为在 GitLab 中精简版 SBOM 模式下运行并以 .HTML 格式生成构件的示例