Доступно с ограничениями в редакциях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
        массив объектов

        Список дополнительных секретов для доступа к приватным registry.

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

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

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

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

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

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

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

        Имя StorageClass, который используется Trivy-провайдером.

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

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

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

        Если указать false, вместо PVC будет принудительно использоваться 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
              целочисленный