Запуск сканера в GitLab
Чтобы запустить сканер в режиме lite SBOM в GitLab, при настройке сканирования образов в процессе CI/CD измените конфигурационный файл .gitlab-ci.yml следующим образом:
- Добавьте информацию по образу сканера, запускаемого на этапе сканирования образов в процессе CI/CD в следующем виде:
scan_image:
stage: scanner
image:
name:repo.cloud.example.com/repository/company/scanner:v.2.0.0-lite
entrypoint: [""]
pull_policy: always
- Укажите тег платформы оркестрации в следующем виде:
k8s
В приведенном примере указан тег
k8s
для обозначения Kubernetes, вы можете указать тег для другой поддерживаемой платформы оркестрации. - Укажите такие переменные как идентификатор сборки, данные реестра сканируемого образа и сертификата для безопасного подключения к этому реестру, идентификатор пайплайна и токен API для авторизации запросов от CI/CD сканера в Kaspersky Security для контейнеров в следующем виде:
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-----
. - При необходимости укажите переменную для проверки сертификата API-интерфейса решения:
API_CA_CERT: ${KCS_CA_CERT}
Если переменная
API_CA_CERT
не задана, проверка будет запускаться, но не будет пройдена. - Укажите веб-адрес хост-сервера API Kaspersky Security для контейнеров:
API_BASE_URL:
<веб-адрес>
- Укажите команду для создания файла артефакта при запуске сканера в одном из следующих поддерживаемых форматов:
- Для создания артефакта в формате .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
- Для создания артефакта SBOM в формате .SPDX:
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --spdx --stdout > artifact-result.spdx
artifacts:
paths:
- artifact-result.spdx
- Для создания артефакта SBOM в формате .CDX:
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --cdx --stdout > artifact-result.cdx.json
artifacts:
paths:
- artifact-result.cdx.json
- Для создания артефакта в формате .JSON: