В модуле реализовано 4 алерта.

Модуль включен по умолчанию в наборах модулей: Default, Managed. Модуль выключен по умолчанию в наборе модулей Minimal.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль admission-policy-engine, установите spec.enabled в true или false в ModuleConfig/admission-policy-engine (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: admission-policy-engine
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module enable admission-policy-engine
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: admission-policy-engine
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module disable admission-policy-engine
    

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем admission-policy-engine (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/admission-policy-engine для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: admission-policy-engine
spec:
  version: 1
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 1

  • settings
    объект
    • settings.denyVulnerableImages
      объект

      Настройки trivy-провайдера.

      Trivy-провайдер запрещает создание Pod/Deployment/StatefulSet/DaemonSet с образами, которые имеют уязвимости в пространствах имен с лейблом security.deckhouse.io/trivy-provider: "".

      Доступно только в enterprise edition.

      • settings.denyVulnerableImages.enabled
        булевый

        Включить trivy-провайдер.

        По умолчанию: false

      • settings.denyVulnerableImages.registrySecrets
        массив объектов

        Список дополнительных секретов приватных регистри.

        По умолчанию для загрузки образов для сканирования используется секрет deckhouse-registry.

        По умолчанию: []

        • settings.denyVulnerableImages.registrySecrets.name
          строка

          Обязательный параметр

        • settings.denyVulnerableImages.registrySecrets.namespace
          строка

          Обязательный параметр

      • settings.denyVulnerableImages.storageClass
        строка

        Имя StorageClass для использования trivy_provider.

        false — принудительное использование emptyDir. После установки необходимо вручную удалить старый PVC и перезапустить под.

        Примеры:

        storageClass: ceph-ssd
        
        storageClass: 'false'
        
    • settings.podSecurityStandards
      объект

      Настройки политик Pod Security Standards (PSS).

      • settings.podSecurityStandards.defaultPolicy
        строка

        Определяет политику Pod Security Standards по умолчанию для всех несистемных пространств имен:

        • Privileged — политика без ограничений. Данная политика допускает эскалацию привилегий;
        • Baseline — политика с минимальными ограничениями, ограничивающая использование эскалаций привилегий;
        • Restricted — политика с максимальными ограничениями, соотвествущая актуальным рекомендациям по безопасному запуску приложений в кластере.

        По умолчанию:

        • Baseline — при первичной установке Deckhouse версии v1.55 и выше;
        • Privileged — при первичной установке Deckhouse версии ниже v1.55 (обновление Deckhouse в кластере на версию v1.55 и выше не меняет политику по умолчанию на Baseline).

        Допустимые значения: Privileged, Baseline, Restricted

      • settings.podSecurityStandards.enforcementAction
        строка

        Действие, которое будет выполнено по результатам проверки ограничений:

        • Deny — запрет;
        • Dryrun — отсутствие действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana или консоли с помощью kubectl;
        • Warn — аналогично Dryrun, но дополнительно к информации о событии будет выведена информация о том, из-за какого ограничения (constraint) был бы запрет действия, если бы вместо Warn использовался Deny.

        По умолчанию: "Deny"

        Допустимые значения: Warn, Deny, Dryrun

      • settings.podSecurityStandards.policies
        объект

        Определяет дополнительные параметры политик

        • settings.podSecurityStandards.policies.hostPorts
          объект

          Настройки ограничения HostPort.

          • settings.podSecurityStandards.policies.hostPorts.knownRanges
            массив объектов

            Список диапазонов портов, которые будут разрешены в привязке hostPort.

            • settings.podSecurityStandards.policies.hostPorts.knownRanges.max
              целочисленный
            • settings.podSecurityStandards.policies.hostPorts.knownRanges.min
              целочисленный