Доступно в редакциях: EE, CSE Lite (1.73), CSE Pro (1.73)
Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
Требования
К версии Deckhouse: 1.75 и выше.
Параметры
Версия схемы: 1
-
-
массив объектовsettings.additionalRegistryCA
Список корневых сертификатов (CA) приватных хранилищ образов контейнеров (container registry).
Если требуется указать несколько сертификатов, они перечисляются последовательно, без дополнительных переносов строк.
Пример:
additionalRegistryCA: - name: example CA ca: | -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE----- - name: CA with intermediate CA ca: | -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE------
строкаsettings.additionalRegistryCA.ca
-
строкаsettings.additionalRegistryCA.name
-
-
массив строкsettings.additionalVulnerabilityReportFieldsСписок дополнительных полей из базы уязвимостей, добавляемых к отчетам об уязвимостях (VulnerabilityReport).
Пример:
additionalVulnerabilityReportFields: - Class - Target -
целочисленныйsettings.concurrentScanJobsLimitМаксимальное количество заданий сканирования (ScanJob), которые оператор может запускать одновременно.
По умолчанию:
10Допустимые значения:
1 <= XПримеры:
concurrentScanJobsLimit: 3concurrentScanJobsLimit: 5concurrentScanJobsLimit: 10 -
объектsettings.denyVulnerableImages
Настройки запрета создания
Pod/Deployment/StatefulSet/DaemonSetс уязвимыми образами в неймспейсах с меткойsecurity.deckhouse.io/trivy-provider: "".Примечание: Этот constraint проверяется только при admission (создание/обновление ресурсов). Gatekeeper audit не оценивает этот constraint.
По умолчанию:
{}-
массив строкsettings.denyVulnerableImages.allowedSeverityLevelsОбразы контейнеров, содержащие только уязвимости указанных уровней критичности, не будут запрещены.
-
строкаsettings.denyVulnerableImages.allowedSeverityLevels.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
булевыйsettings.denyVulnerableImages.enabledЗапретить использование уязвимых образов в неймспейсах с меткой
security.deckhouse.io/trivy-provider: "".По умолчанию:
false -
массив объектовsettings.denyVulnerableImages.registrySecrets
Список дополнительных секретов приватных регистри.
По умолчанию для загрузки образов для сканирования используется секрет
deckhouse-registry.По умолчанию:
[]-
строкаsettings.denyVulnerableImages.registrySecrets.name
-
строкаsettings.denyVulnerableImages.registrySecrets.namespace
-
-
-
булевыйsettings.disableSBOMGeneration
Отключает генерацию отчетов SBOM.
Внимание. При установке значения “true”, все текущие отчеты SBOM в кластере удаляются (очистка выполняется один раз).
По умолчанию:
falseПримеры:
disableSBOMGeneration: truedisableSBOMGeneration: false -
булевыйsettings.insecureDbRegistryРазрешает Trivy скачивать базы данных уязвимостей, используя недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) или подключения по HTTP.
По умолчанию:
falseПримеры:
insecureDbRegistry: trueinsecureDbRegistry: false -
массив строкsettings.insecureRegistriesСписок адресов хранилищ образов контейнеров (container registry), к которым разрешены недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) и подключения по HTTP.
Пример:
insecureRegistries: - my.registry.com - http-only.registry.io -
булевыйsettings.linkCVEtoBDUВключить конвертацию отчетов уязвимостей. Заменяет уязвимости из базы CVE на данные из базы BDU и выводит их в отчете.
По умолчанию:
falseПримеры:
linkCVEtoBDU: truelinkCVEtoBDU: false -
объектsettings.nodeScanning
Настройки сканирования узлов кластера (хостовой файловой системы).
Эта функция сканирует хостовую файловую систему каждого узла Kubernetes для обнаружения уязвимостей в пакетах операционной системы.
По умолчанию:
{}-
целочисленныйsettings.nodeScanning.concurrentLimit
Максимальное количество одновременно выполняемых заданий сканирования узлов.
Рекомендуется устанавливать низкое значение, чтобы избежать избыточной нагрузки на кластер.
По умолчанию:
1Допустимые значения:
1 <= XПримеры:
concurrentLimit: 1concurrentLimit: 2concurrentLimit: 3 -
булевыйsettings.nodeScanning.enabled
Включает сканирование узлов.
При включении оператор будет сканировать файловую систему каждого узла на предмет уязвимостей в пакетах ОС. Результаты сохраняются в кластерный ресурс
NodeVulnerabilityReport.По умолчанию:
falseПримеры:
enabled: trueenabled: false -
булевыйsettings.nodeScanning.hideUnfixedCVEs
При значении true в отчёт попадают только уязвимости, для которых есть исправление.
Это значительно уменьшает размер отчёта, но скрывает неисправленные уязвимости.
По умолчанию:
falseПримеры:
hideUnfixedCVEs: truehideUnfixedCVEs: false -
объектsettings.nodeScanning.nodeSelectorФильтрация узлов по меткам. Сканируются только узлы, соответствующие всем указанным меткам.
По умолчанию:
{}Примеры:
node-role.kubernetes.io/worker: ''env: production -
массив строкsettings.nodeScanning.pkgTypes
Список типов пакетов для сканирования:
os— пакеты ОС;library— библиотеки приложений.
По умолчанию:
[ "os" ]Примеры:
pkgTypes: - ospkgTypes: - os - library-
строкаsettings.nodeScanning.pkgTypes.Элемент массива
Допустимые значения:
os,library
-
массив строкsettings.nodeScanning.scanners
Список сканеров для использования при сканировании узла:
vuln— сканер уязвимостей;secret— сканер секретов.
По умолчанию:
[ "vuln" ]Примеры:
scanners: - vulnscanners: - vuln - secret-
строкаsettings.nodeScanning.scanners.Элемент массива
Допустимые значения:
vuln,secret
-
массив строкsettings.nodeScanning.severities
Фильтрация уязвимостей по критичности.
Внимание. Без фильтрации отчёты могут превысить лимит etcd в 3MB на объект для узлов с большим количеством пакетов.
По умолчанию:
[ "CRITICAL", "HIGH" ]Примеры:
severities: - CRITICAL - HIGHseverities: - CRITICAL - HIGH - MEDIUM-
строкаsettings.nodeScanning.severities.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
массив строкsettings.nodeScanning.skipDirs
Список директорий, которые будут пропущены при сканировании.
По умолчанию исключаются директории контейнерных runtime’ов и виртуальные файловые системы.
По умолчанию:
[ "/proc", "/sys", "/dev", "/run", "/var/lib/containerd", "/var/lib/docker", "/var/lib/kubelet/pods" ]Пример:
skipDirs: - /proc - /sys - /dev -
строкаsettings.nodeScanning.timeout
Таймаут для заданий сканирования узлов.
Если не указан, используется значение по умолчанию для заданий сканирования.
По умолчанию:
‘’Примеры:
timeout: 10mtimeout: 30m
-
-
объектsettings.nodeSelector
Опциональный селектор для компонентов
operator-trivyи заданий сканирования (Jobs).Структура, аналогичная
spec.nodeSelectorпода Kubernetes.Если значение не указано или указано
false, будет использоваться автоматика.Пример:
disktype: ssd -
массив строкsettings.reportResourceLabels
Список дополнительных меток маркировки отчетов (VulnerabilityReport) Trivy.
Значения этих меток будут соответствовать значениям меток сканируемых ресурсов.
Примеры:
reportResourceLabels: appreportResourceLabels: env -
объектsettings.scanJobResources
Запросы и лимиты ресурсов (
requests/limits) для заданий сканирования (ScanJob).Параметр управляет ресурсами контейнера Trivy в подах, которые оператор создает для сканирования образов.
Если параметр не задан, используются значения по умолчанию (как и до появления этой настройки). Если параметр задан, можно указать только часть полей (например, только
memory) — модуль не будет принудительно подставлять остальные поля.По умолчанию:
{}Пример:
limits: cpu: 500m memory: 500M requests: cpu: 100m memory: 100M-
объектsettings.scanJobResources.limits
По умолчанию:
{}-
строкаsettings.scanJobResources.limits.cpu
Примеры:
cpu: 500mcpu: '1' -
строкаsettings.scanJobResources.limits.memory
Примеры:
memory: 500Mmemory: 1Gi
-
-
объектsettings.scanJobResources.requests
По умолчанию:
{}-
строкаsettings.scanJobResources.requests.cpu
Примеры:
cpu: 100mcpu: 250m -
строкаsettings.scanJobResources.requests.memory
Примеры:
memory: 100Mmemory: 256Mi
-
-
-
массив строкsettings.severitiesФильтрация отчетов уязвимостей по уровню их критичности.
Примеры:
severities: - CRITICAL - HIGH - MEDIUM - LOW - UNKNOWNseverities: - CRITICAL - HIGH-
строкаsettings.severities.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
строкаsettings.storageClass
Имя StorageClass, который будет использоваться по умолчанию в кластере.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClassучитывается только при включении модуля. Изменение глобального параметраstorageClassпри включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false, будет принудительно использоватьсяemptyDir.Примеры:
storageClass: ceph-ssdstorageClass: 'false' -
массив объектовsettings.tolerations
Опциональные tolerations для компонентов
operator-trivyи заданий сканирования (Jobs).Структура, аналогичная
spec.tolerationsпода Kubernetes.Если значение не указано или указано
false, будет использоваться автоматика.Пример:
effect: NoSchedule key: key1 operator: Equal value: value1-
строкаsettings.tolerations.effect
-
строкаsettings.tolerations.key
-
строкаsettings.tolerations.operator
-
целочисленныйsettings.tolerations.tolerationSeconds
-
строкаsettings.tolerations.value
-
-
булевыйsettings.useVEXFromOCIПоиск VEX-аттестаций сканируемых образов в OCI-хранилищах и подавление отчётности об уязвимостях, объявленных в них.
По умолчанию:
falseПримеры:
useVEXFromOCI: trueuseVEXFromOCI: false
-