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

  • denyVulnerableImages
    объект

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

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

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

    • denyVulnerableImages.enabled
      булевый

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

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

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

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

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

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

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

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

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

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

    • denyVulnerableImages.storageClass
      строка

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

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

      Примеры:

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

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

    • podSecurityStandards.defaultPolicy
      строка

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

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

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

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

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

    • podSecurityStandards.enforcementAction
      строка

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

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

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

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

    • podSecurityStandards.policies
      объект

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

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

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

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

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

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