Настройка прозрачной аутентификации

Серверные настройки

Сервер Docsvision, установленный на Linux, требует настройки Kerberos-аутентификации. Настройка необходима для использования технологии единого входа (также известная как прозрачная аутентификация, когда пользователь уже аутентифицирован в другом модуле системы). В данном разделе приводится инструкция по настройке аутентификации Kerberos в системе Docsvision.

  1. На первом этапе необходимо создать keytab-файл с именем krb5.keytab и настроить конфигурационный файл krb5.conf в папке /etc сервера Docsvision.

  2. Файл создаётся командой в ОС Windows или в ОС Linux при вводе сервера в домен.

    • Создание keytab-файла командой в ОС Windows и последующий перенос его на сервер Docsvision является предпочтительным способом настройки

      Пример 1. Пример команды для создания keytab-файла
      ktpass -princ HTTP/company.example.com@EXAMPLE.COM -mapuser administrator@example.com -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -pass Password -out C:\krb5.keytab
    • Создание keytab-файла в ОС Linux предполагает ввод сервера Docsvision в домен, после чего файл создаётся автоматически. Подробная инструкция по вводу в домен приведена в документации Astra Linux или РЕД ОС.

  3. Сгенерированный krb5.keytab файл необходимо поместить в каталог /etc/ на сервере Linux.

Клиентские настройки (опционально)

Следующие настройки являются опциональными и требуются в случае, когда требуется выполнять аутентификацию от имени пользователя вне домена (может быть полезно в диагностических целях).

  1. На сервере Docsvision установите пакет Kerberos-утилит следующей командой:

    • Astra Linux

    • РЕД ОС / SberLinux

    $ sudo apt-get install krb5-user
    $ sudo dnf install krb5-workstation
  2. Заполните настройки в файле krb5.conf, расположенном в каталоге /etc/:

    Минимально необходимые настройки в файле krb5.conf:
    [libdefaults]
        default_realm = EXAMPLE.COM
    
    [realms]
        EXAMPLE.COM = {
            kdc = COMPANY.EXAMPLE.COM
            admin_server = COMPANY.EXAMPLE.COM
        }
    
    [domain_realm]
        .example.com = EXAMPLE.COM
        example.com = EXAMPLE.COM
  3. Следующий шаг — получение тикета для пользователя, которой имеет право входить в Docsvision, пример команды приведён ниже:

    $ kinit DocsvisionUser
  4. После успешного получения тикета, его можно просмотреть командой:

    $ klist

    Если в процессе получения тикета возникли ошибки, выполните следующую команду, чтобы при выполнении kinit выводился журнала отладки Kerberos:

    $ export KRB5_TRACE=/dev/stderr
  5. Следующий шаг — настройка клиентского браузера. Для Google Chrome и браузеров на его основе требуется в параметрах политик AuthNegotiateDelegateAllowlist, AuthServerAllowlist, доступных по адресу chrome://policy, указать домен компании в формате *.example.com.
    Для ОС Linux значения задаются в файле /etc/chromium/policies/managed/test_policy.json, для ОС Windows — в реестре или через управление групповыми политиками, если браузер клиента получает настройки Chrome с контроллера домена, подробнее см. по ссылкам выше и в разделе Комплексные политики Windows.

  6. Перезапустите браузер.

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