Доступно с ограничениями в редакцияхCE, BE, SE, SE+

Доступно без ограничений в редакциях:  EE, CSE Lite (1.67), CSE Pro (1.67)

Стадия жизненного цикла модуля: General Availability

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

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

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

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль admission-policy-engine, включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля

  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля, или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

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

    d8 system module enable admission-policy-engine
    
  • С помощью ModuleConfig admission-policy-engine.

    Установите spec.enabled в true или false в ModuleConfig admission-policy-engine (создайте его, при необходимости).

    Пример манифеста для включения модуля admission-policy-engine:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: admission-policy-engine
    spec:
      enabled: true
    

Как настроить модуль…

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль admission-policy-engine, включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация», или укажите настройки модуля в формате YAML на вкладке «YAML», не включая секцию settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig admission-policy-engine на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль admission-policy-engine), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig admission-policy-engine (подробнее о настройке Deckhouse читайте в документации), выполнив следующую команду:

    d8 k edit mc admission-policy-engine
    

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig admission-policy-engine, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>
    

    Пример файла манифеста 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
      объект

      Доступно в редакциях: EE, CSE Lite (1.67), CSE Pro (1.67)

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

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

      • settings.denyVulnerableImages.allowedSeverityLevels
        массив строк

        Образы контейнеров, содержащие только уязвимости указанных уровней критичности, не будут запрещены.

        • Элемент массива
          строка

          Допустимые значения: UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL

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