В модуле реализовано 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.

        Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.

        Настройка глобального параметра storageClass учитывается только при включении модуля. Изменение глобального параметра storageClass при включенном модуле не приведет к перезаказу диска.

        Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.

        Если указать false, будет принудительно использоваться emptyDir.

        Примеры:

        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
              целочисленный