Установка приложения «Менеджер службы каталогов» (пакет dsm)

Приложение «Менеджер службы каталогов» поддерживает установку:

  • в режиме локального приложения на компьютере администратора или промежуточном сервере (jump-сервере);

  • в режиме портального приложения на сервере контроллера домена Эллес.

См. подробнее о доступных вариантах развертывания в разделе «Варианты развертывания».

В обоих вариантах развертывания процесс установки включает шаги:

При развертывании в режиме локального приложения данные шаги выполняются на компьютере администратора; при развертывании в режиме портального приложения — на сервере контроллера домена.

Предварительные требования

Для установки и успешного запуска приложения в режиме портального приложения на сервере контроллера домена Эллес дополнительные требования отсутствуют.

Для установки и успешного запуска приложения в режиме локального приложения обеспечьте выполнение следующих требований:

  1. Установка приложения возможна на компьютере с операционной системой из списка поддерживаемых (см. раздел «Требования к программному обеспечению»).

  2. Компьютер, на котором выполняется установка, должен быть подключен к репозиторию с пакетом dsm или пакет должен быть загружен непосредственно на компьютер.

  3. На компьютере должны успешно разрешаться DNS-имена контроллеров домена, к которым будет подключаться приложение, и их окружения (например, KDC).

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

Предварительная настройка

Для предварительной настройки:

  1. Создайте каталог /opt/dsm/:

    sudo mkdir -p /opt/dsm/
  2. Создайте в каталоге файл application.yml и добавьте в него необходимые параметры (см. пример содержимого файла или скачайте файл с минимальным набором требуемых настроек):

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

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

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

    • секция 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 — параметры библиотеки для работы с логами:

        • rollingpolicy — параметры управления ротацией и архивацией логов:

          • file-name-pattern — формат имени лог-файла;

          • max-file-size — максимальный размер лог-файла;

          • total-size-cap — максимальный суммарный размер всех лог-файлов;

          • max-history — максимальное количество лог-файлов;

    • секция ldap:

      • connection — параметры подключения к контроллеру домена:

        • host — полное доменное имя (FQDN) или IP-адрес сервера для подключения;

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

        • responseTimeoutMillis — время ожидания ответа при выполнении LDAP-операций (в миллисекундах; значение по умолчанию — 120000);

      • sso:

        • krb-tgt-path — путь к билету Kerberos технической учетной записи, от имени которой будут выполняться операции, после авторизации по SSO;

    • секция authentication — параметры доступа по технологии единого входа (SSO):

      • kerberos:

        • kdc-address — имя или IP-адрес центра распространения ключей Kerberos (KDC);

        • service-principal — логин UPN;

        • keytab-location — путь к keytab-файлу;

    • секция gpm:

      • host — адрес контроллера домена для подключения по протоколу SMB;

      • port — порт контроллера домена для подключения по протоколу SMB (значение по умолчанию — 445);

      • share-path — каталог для совместного использования (значение по умолчанию — sysvol);

      • admx — параметры ADMX-шаблонов:

        • path — путь к ADMX-шаблонам, содержащим описания политик;

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

        • target-namespace — целевое пространство имен в случае отсутствия или отличия от определенных в файлах шаблонов и локализации;

      • policies-path — путь к каталогу с групповыми политиками (путь в формате <realm>/Policies);

    • секция management:

      • server — параметры подключения к серверу:

        • port — порт для подключения к актуаторам приложения;

    • секция grpc:

      • 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 — выключает.

    Пример 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:
      kerberos:
        kdc-address: ast-dc1.elles.inno.tech
        service-principal: HTTP/dsmsso.elles.inno.tech
        keytab-location: /opt/dsm/sso.keytab
    
    gpm:
      host: 127.0.0.1
      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
      policies-path: elles.inno.tech\Policies
    
    management:
      server:
        port: 8081
    
    grpc:
      enabled: true
      connection:
        port: 8443
        spn-prefix: ldap
      security:
        enabled: true
  3. В файле /opt/dsm/lib/app/dsm.cfg добавьте в секцию [JavaOptions] следующую строку (если она отсутствует):

    java-options=-Dspring.profiles.active=auth-kerberos,session

Установка пакета

Установите пакет:

  • при установке из репозитория выполните:

    • Astra Linux

    • РЕД ОС

    sudo apt install dsm -y
    sudo dnf install dsm -y
  • при установке из архива укажите путь к распакованным файлам и имя пакета; например:

    • Astra Linux

    • РЕД ОС

    sudo apt install ./packages/dsm-2.11.0/dsm_2.11.0-1_amd64.deb -y
    sudo dnf install ./packages/dsm-2.11.0/dsm-2.11.0-1.x86_64.rpm -y

После установки автоматически запускается сервис dsm.

Настройка после установки

При установке в режиме портального приложения на сервере контроллера домена Эллес дополнительная настройка не требуется.

При установке в режиме локального приложения на компьютере администратора или промежуточном сервере (jump-сервере):

  1. Остановите и отключите сервис dsm средствами systemd:

    sudo systemctl stop dsm.service && sudo systemctl disable dsm.service && sudo systemctl mask dsm.service
  2. Проверьте, что сервис dsm неактивен:

    sudo systemctl status dsm.service
    * dsm.service
       Loaded: loaded (/etc/systemd/system/dsm.service; disabled; vendor preset: enabled)
       Active: inactive (dead)

Проверка работоспособности

Для проверки корректности установки и работоспособности приложения:

  • при установке в режиме портального приложения:

    • убедитесь, что сервис работает и активен:

      sudo systemctl status dsm.service
      * dsm.service
         Loaded: loaded (/etc/systemd/system/dsm.service; enabled; vendor preset: enabled)
         Active: active (running) since Wed 2024-03-13 09:56:17 MSK; 3h 40min ago
       Main PID: 1901 (dsm)
          Tasks: 46 (limit: 4563)
         Memory: 215.4M
            CPU: 6min 34.518s
         CGroup: /system.slice/dsm.service
                 └─1901 /opt/dsm/bin/dsm
    • откройте приложение в веб-браузере на порте, указанном в файле application.yml (в примере выше — 8090; если параметр port не указан в application.yml, используется значение по умолчанию — 8080);

  • при установке в режиме локального приложения — откройте терминал и наберите:

    /opt/dsm/bin/dsm

В случае недоступности приложения проверьте логи в каталоге, указанном в application.yml. В приведенном примере файла application.yml приложение сохраняет данные логирования с уровнем DEBUG в файл dsm.log в каталоге /var/log/.