Настройка с использованием конфигурационного файла

Если до установки была выполнена предварительная настройка приложения, то дополнительные действия не требуются.

При необходимости изменения параметров (например, уровня логирования или параметров подключения к контроллеру домена) отредактируйте конфигурационный файл application.yml на сервере, где установлено приложение (путь к файлу — /opt/dsm/application.yml), и выполните перезапуск.

Например, при работе в режиме портального приложения выполните:

sudo systemctl restart dsm.service

Для успешного запуска приложения при создании или редактировании файла application.yml учитывайте следующее:

  • формат YAML предъявляет строгие требования к форматированию (см. RFC 9512), поэтому тщательно соблюдайте отступы;

  • если используется HTTPS, то значения параметров server.ssl.key-store-password и server.ssl.key-password должны быть закодированы с использованием Base64.

Параметры конфигурационного файла

Ниже приведены параметры файла application.yml (см. «Пример application.yml»), доступные для настройки приложения.

Секция server

Параметры сервера для подключения к приложению.

port

Порт для подключения к приложению.

Значение по умолчанию: 8080.

Раздел ssl

Параметры установления SSL-соединения.

В примере файла application.yml указаны параметры SSL-соединения, при которых приложение будет доступно только по HTTPS.
metrics_enabled

Включает мониторинг для SSL-соединения (см. секцию Prometheus в разделе «Сбор метрик приложения "Менеджер службы каталогов"»).

Доступные значения:

  • true — включает;

  • false — выключает.

key-store

Путь к хранилищу ключей, содержащему сертификат SSL.

key-store-password

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

key-store-type

Тип хранилища ключей (JKS или PKCS12).

key-alias

Псевдоним, идентифицирующий ключ в хранилище ключей.

key-password

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

Секция logging

Параметры логирования.

В секции приведены параметры, которые установлены по умолчанию в приложении. Они применяются, если в application.yml не заданы другие.

Подробнее о настройке логирования см. в разделе «Логирование приложения "Менеджер службы каталогов"».

Раздел level

Уровень логирования для приложения в формате <название приложения>: <уровень логирования>.

Доступные уровни логирования:

  • DEBUG — уровень отладочных сообщений;

  • ERROR — уровень ошибок;

  • INFO — уровень информационных сообщений;

  • OFF — логирование выключено;

  • TRACE — уровень всех сообщений;

  • WARN — уровень предупреждений.

Раздел file

Параметры лог-файлов.

name

Имя лог-файла и путь к нему.

Раздел logback

Параметры библиотеки Logback для работы с логами.

Подраздел rollingpolicy

Параметры управления ротацией и архивацией логов.

file-name-pattern

Формат имени лог-файла (например, /var/log/dsm_%d{yyyy-MM-dd}_archive-%i.log).

max-file-size

Максимальный размер одного лог-файла (например, 10MB).

total-size-cap

Максимальный суммарный размер всех лог-файлов (например, 1000MB).

max-history

Максимальное количество архивных лог-файлов, сохраняемых на диске.

Секция ldap

Параметры LDAP-соединения.

Раздел connection

Параметры подключения к контроллеру домена.

LDAP-сервер контроллера домена должен поддерживать подключение с типом шифрования STARTTLS для подключения к приложению «Менеджер службы каталогов». Данное требование относится к глобальному каталогу, обслуживающему лес, а также к внешним контроллерам доменов, с которыми установлены или планируется установить доверительные отношения.
host

Полное доменное имя (FQDN) или IP-адрес сервера для подключения.

При установке приложения на компьютере администратора или jump-сервере допускается указывать только полное доменное имя (FQDN).
port

Порт для подключения.

responseTimeoutMillis

Время ожидания ответа при выполнении LDAP-операций (в миллисекундах).

Значение по умолчанию: 120000.

Подраздел sso

Параметры SSO.

krb-tgt-path

Путь к билету Kerberos технической учетной записи, от имени которой будут выполняться операции после авторизации по SSO.

Секция authentication

Параметры доступа по технологии единого входа (SSO) (см. «Настройка доступа по технологии единого входа (SSO)»).

Раздел session-token

Параметры токена сессии пользователя.

lifetime-mins

Время жизни токена сессии пользователя в минутах.

Значение по умолчанию: 1440 (24 часа).

Секция kerberos

Параметры аутентификации Kerberos.

kdc-address

Имя или IP-адрес центра распространения ключей (KDC).

service-principal

Логин UPN (User Principal Name) сервиса.

keytab-location

Путь к keytab-файлу, содержащему ключи сервиса.

Секция gpm

Параметры работы с ADMX-шаблонами.

share-port

Порт контроллера домена для подключения по протоколу SMB.

Значение по умолчанию: 445.

share-path

Каталог для совместного использования.

Значение по умолчанию: sysvol.

policies-path

Путь к каталогу с групповыми политиками в формате <realm>/Policies.

Раздел admx

Параметры ADMX-шаблонов.

path

Путь к ADMX-шаблонам, содержащим описания политик.

locale

Применяемая локализация, а также название каталога относительно пути к ADMX-шаблонам, указанного в параметре path.

target-namespace

Целевое пространство имен в случае отсутствия или отличия от определенных в файлах шаблонов и локализации.

hide-empty-categories

Скрывать пустые категории политик в интерфейсе.

Доступные значения:

  • true — скрывать;

  • false — не скрывать.

init-refresh-delay-sec

Задержка перед первой проверкой изменений ADMX-шаблонов после запуска приложения (в секундах).

После старта сервиса приложение ждет указанное количество секунд, прежде чем выполнить первую проверку файлов .admx и .adml по пути, формируемому на основании значений параметров gpm.share-path и gpm.admx.path.

Проверка выполняется при условии, что в конфигурации также включен планировщик: scheduler.enabled: true.

refresh-delay-sec

Интервал между последующими проверками изменений ADMX-шаблонов (в секундах).

После первой проверки (через init-refresh-delay-sec) приложение будет повторно проверять файлы .admx и .adml каждые указанное количество секунд. Это обеспечивает автоматическое обновление групповых политик без перезапуска сервиса. Проверка выполняется при условии, что в конфигурации также включен планировщик: scheduler.enabled: true.

Секция management

Параметры для подключения к актуаторам приложения (см. «Сбор метрик приложения "Менеджер службы каталогов"»).

Раздел server

Параметры подключения к серверу.

port

Порт для подключения к актуаторам приложения (например, /actuator).

Секция grpc

Параметры подключения к сервису ядра службы каталогов, предоставляющему gRPC API для управления доменом и контроллером домена.

enabled

Включает использование gRPC API для управления доменом и контроллером домена.

Доступные значения:

  • true — включает;

  • false — выключает.

Раздел connection

Параметры подключения к сервису ядра службы каталогов, предоставляющему gRPC API для управления доменом и контроллером домена.

port

Порт для подключения к сервису.

Значение по умолчанию: 8443.

spn-prefix

Префикс SPN.

Всегда должен иметь значение ldap.

Раздел security

Параметры использования SSL/TLS-сертификатов при подключении по gRPC.

enabled

Включает использование SSL/TLS-сертификатов из хранилища, указанного в секции server.ssl, при подключении по gRPC.

Доступные значения:

  • true — включает;

  • false — выключает.

Секция shares

Параметры доступа к сетевым общим ресурсам в доменной среде.

Раздел pso

Параметры доступа к файлу со списком запрещенных паролей.

share-port

Порт для доступа к сетевым общим ресурсам на контроллере домена.

Значение по умолчанию: 445.

share-path

Папка, в которой размещаются сетевые общие ресурсы на контроллере домена.

Значение по умолчанию: sysvol.

pso-path

Путь к папке, в которой размещается файл со списком запрещенных паролей, внутри ресурса, указанного в параметре share-path.

Значение по умолчанию: \{domain}\pso, где {domain} заменяется фактическим именем домена.

Секция scheduler

Управление планировщиком автоматического обновления ADMX-шаблонов.

enabled

Управляет состоянием планировщика, отвечающего за автоматическое обнаружение и обновление ADMX-шаблонов групповых политик.

Доступные значения:

  • true — планировщик включен;

    Планировщик ожидает gpm.admx.init-refresh-delay-sec секунд после старта приложения и затем каждые gpm.admx.refresh-delay-sec секунд проверяет файлы .admx и .adml по пути, формируемому на основании значений параметров gpm.share-path и gpm.admx.path. При обнаружении изменений — перезагружает политики в память, без перезапуска сервиса.

  • false — планировщик отключен;

    Проверка изменений в ADMX-шаблонах групповых политик автоматически не запускается.

Пример application.yml

server:
  port: 8090
  ssl:
    metrics_enabled: true
    key-store: /opt/dsm/springboot.p12
    key-store-password: cGFzc3dvcmQx
    key-store-type: pkcs12
    key-alias: springboot
    key-password: cGFzc3dvcmQy

logging:
  level:
    tech.inno.dsm: DEBUG
  file:
    name: /var/log/dsm.log
  logback:
    rollingpolicy:
      file-name-pattern: /var/log/dsm_%d{yyyy-MM-dd}_archive-%i.log
      max-file-size: 10MB
      total-size-cap: 1000MB
      max-history: 365

ldap:
  connection:
    host: ast-dc1.elles.inno.tech
    port: 389
    responseTimeoutMillis: 120000
    sso:
      krb-tgt-path: /tmp/krb5cc_1000

authentication:
  session-token:
    lifetime-mins: 1440 # 24 hours

kerberos:
  kdc-address: ast-dc1.elles.inno.tech
  service-principal: HTTP/dsmsso.elles.inno.tech
  keytab-location: /opt/dsm/sso.keytab

gpm:
  share-port: 445
  share-path: sysvol
  admx:
    path:  elles.inno.tech\Policies\PolicyDefinitions
    locale: en-US
    target-namespace: http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions
    hide-empty-categories: true
    init-refresh-delay-sec: 60
    refresh-delay-sec: 60
  policies-path: elles.inno.tech\Policies

management:
  server:
    port: 8081

grpc:
  enabled: true
  connection:
    port: 8443
    spn-prefix: ldap
  security:
    enabled: true

shares:
   pso:
     share-port: 445
     share-path: sysvol
     pso-path: \{domain}\pso

scheduler:
  enabled: true