В этой статье:
Шаг 1. Подготовка доменного окружения
Шаг 3. Настройка доменной/интегрированной доменной аутентификации
Для настройки доменной или интегрированной доменной аутентификации на веб-сервере Apache2 в ОС Linux при использовании СУБД PostgreSQL выполните шаги, указанные ниже.
Совет. Рекомендуется настраивать совместное использование доменной/интегрированной доменной аутентификации со встроенной авторизацией.
«Форсайт. Аналитическая платформа» получает информацию о доменных субъектах безопасности из службы каталогов домена или глобального каталога, которые должны быть настроены в компьютерной сети. Взаимодействие со службой каталогов осуществляется по протоколу LDAP/LDAPS.
Если служба каталогов текущего домена (глобального каталога текущей сети) сформирована на базе Active Directory и работа с «Форсайт. Аналитическая платформа» осуществляется в ОС Windows, то для подключения к данной службе не требуются дополнительные настройки.
Если служба каталогов расположена на сервере с ОС Linux или необходимо подключиться к службе каталогов не текущей, а какой-либо другой сети (сервер с ОС Linux или Windows), то выполните следующие действия в зависимости от операционной системы:
Установите недостающие пакеты в зависимости от версии ОС Linux:
Debian-подобные дистрибутивы:
sudo apt install libldap-2.4-2 libsasl2-modules-gssapi-mit
RedHat-подобные дистрибутивы:
sudo yum install openldap openldap-clients
ALT Linux:
sudo apt-get install openldap-common
Скачайте и запустите инсталлятор OpenSSL. По умолчанию OpenSSL устанавливается в папку C:\Program Files\OpenSSL-Win64.
Добавьте в системную переменную PATH путь до папки bin - C:\Program Files\OpenSSL-Win64\bin.
Также подготовка доменного окружения включает в себя:
установку и настройку Kerberos на сервере СУБД PostgreSQL. Убедитесь, что добавлена информация о домене в файле /etc/krb5.conf. Для получения подробной информации обратитесь к документации Kerberos;
создание keytab-файлов и настройку служб: postgres для доменной аутентификации; HTTP, postgres для интегрированной доменной аутентификации. Keytab-файлы используются для аутентификации пользователей без ввода пароля в Astra Linux Directory (ALD) в ОС Linux или Active Directory (AD) в ОС Windows. В keytab-файле хранятся имена принципалов Kerberos и соответствующие им зашифрованные ключи, полученные на основе паролей Kerberos.
Примечание. При изменении свойств пользователя keytab-файлы должны быть пересозданы.
Примечание. При настройке доменной аутентификации пропустите шаг.
По умолчанию при установке BI-сервера конфигурационные файлы экземпляра Apache2 располагаются в папке:
/etc/apache2-fp10.x в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x в ALT Linux.
Для настройки BI-сервера:
Установите недостающие пакеты в зависимости от версии ОС Linux:
Debian-подобные дистрибутивы:
sudo apt install libsasl2-modules-gssapi-mit libapache2-mod-auth-gssapi
RedHat-подобные дистрибутивы:
sudo yum install cyrus-sasl-gssapi mod_session mod_auth_gssapi
ALT Linux:
sudo apt-get install apache2-mod_auth_gssapi libsasl2-plugin-gssapi
Скопируйте конфигурационные файлы веб-сервера Apache2 в экземпляр Apache2 с BI-сервером:
Debian-подобные дистрибутивы:
cp /etc/apache2/mods-available/auth_gssapi.load
/etc/apache2-fp10.x/mods-available/
cp /etc/apache2/mods-available/session.load /etc/apache2-fp10.x/mods-available/
cp /etc/apache2/mods-available/session_cookie.load /etc/apache2-fp10.x/mods-available/
RedHat-подобные дистрибутивы:
cp /etc/httpd/conf.modules.d/01-session.conf
/etc/httpd-fp10.x/conf.modules.d/
cp /etc/httpd/conf.modules.d/10-auth_gssapi.conf /etc/httpd-fp10.x/conf.modules.d/
ALT Linux:
cp /etc/httpd2/conf/mods-available/auth_gssapi.load
/etc/httpd2-fp10.x/conf/mods-available/
cp /etc/httpd2/conf/mods-available/session.load /etc/httpd2-fp10.x/conf/mods-available/
cp /etc/httpd2/conf/mods-available/session_cookie.load /etc/httpd2-fp10.x/conf/mods-available/
Включите недостающие модули Apache2 в Debian-подобных дистрибутивах и ALT Linux:
a2enmod-fp10.x
auth_gssapi
a2enmod-fp10.x authz_user
a2enmod-fp10.x authn_core
a2enmod-fp10.x headers
a2enmod-fp10.x session
a2enmod-fp10.x session_cookie
a2enmod-fp10.x rewrite
a2enmod-fp10.x setenvif
Включите модуль mod_request.so в RedHat-подобных дистрибутивах. Раскомментируйте строку в файле /etc/httpd-fp10.x/conf.modules.d/00-base.conf:
LoadModule request_module modules/mod_request.so
Измените конфигурационный файл BI-сервера fp10.x-biserver.conf, расположенный в папке:
/etc/apache2-fp10.x/mods-available в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x/conf.d в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x/conf/mods-available в ALT Linux.
Приведите содержимое файла к следующему виду:
# Foresight AnalyticsPlatform
LoadModule axis2_module "/opt/foresight/fp10.x-biserver/bin/libmod_axis2_2_4.so"
Axis2RepoPath "/opt/foresight/fp10.x-biserver/bin"
Axis2LogFile "/opt/foresight/fp10.x-biserver/var/log/axis2.log"
Axis2LogLevel info
Axis2ServiceURLPrefix services
<Location /FPBI_App_v10.x/axis2>
SetHandler axis2_module
Require valid-user
AuthType GSSAPI
GssapiAllowedMech krb5
GssapiCredStore keytab:<путь до keytab-файла для службы HTTP>
GssapiDelegCcacheDir /opt/foresight/fp10.x-biserver/var/cache
GssapiUseSessions On
<IfModule mod_session.c>
Session on
</IfModule>
<IfModule mod_session_cookie.c>
SessionCookieName gssapi_sessionpath=/;httponly;secure;
</IfModule>
</Location>
В файле указаны пути до основных файлов BI-сервера, расположенных в папке /opt/foresight/fp10.x-biserver по умолчанию.
После выполнения действий будет настроен BI-сервер.
В Active Directory может использоваться неограниченное и ограниченное делегирование:
для использования неограниченного делегирования установите переключатель «Trust this user for delegation to any service (Kerberos only)» на вкладке «Delegation» в свойствах пользователя;
для использования ограниченного делегирования:
Установите переключатель «Trust this user for delegation to specified services only > Use any authentication protocol» на вкладке «Delegation» в свойствах пользователя.
Дополните конфигурационный файл BI-сервера fp10.x-biserver.conf в разделе <Location>. Включите опцию GssapiUseS4U2Proxy и укажите вспомогательные параметры:
GssapiUseS4U2ProxyOn
GssapiCredStore client_keytab:<путь до keytab-файла для службы HTTP>
GssapiCredStore ccache:FILE:/opt/foresight/fp10.x-biserver/var/cache/krb5ccache
В Astra Linux Directory используется неограниченное делегирование.
Для настройки доменной/интегрированной доменной аутентификации:
Настройте два подключения к репозиторию в файле Metabases.xml:
При использовании доменной аутентификации:
для администратора в параметрах подключения к репозиторию должен содержаться атрибут Authentication со значением «1»;
для доменных пользователей в параметрах подключения к репозиторию должен содержаться атрибут Authentication со значением «4».
Пример файла Metabases.xml:
<PP>
<Metabases>
<REPOSITORY_ID Name="WAREHOUSE" Authentication="1" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE">
<LogonData DATABASE="DATABASE_NAME" SERVER="SERVER_DATABASE" CASESENSITIVE="true"/>
</REPOSITORY_ID>
<REPOSITORY_ID_DOMAIN Name="WAREHOUSE_DOMAIN" Authentication="4" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE">
<LogonData DATABASE="DATABASE_NAME" SERVER="SERVER_DATABASE" CASESENSITIVE="true"/>
</REPOSITORY_ID_DOMAIN>
</Metabases>
</PP>
При использовании интегрированной доменной аутентификации:
для администратора в параметрах подключения к репозиторию должен содержаться атрибут Authentication со значением «1»;
для доменных пользователей в параметрах подключения к репозиторию должен содержаться атрибут Authentication со значением «2».
Пример файла Metabases.xml:
<PP>
<Metabases>
<REPOSITORY_ID Name="WAREHOUSE" Authentication="1" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE">
<LogonData DATABASE="DATABASE_NAME" SERVER="SERVER_DATABASE" CASESENSITIVE="true"/>
</REPOSITORY_ID>
<REPOSITORY_ID_INT_DOMAIN Name="WAREHOUSE_INT_DOMAIN" Authentication="2" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE">
<LogonData DATABASE="DATABASE_NAME" SERVER="SERVER_DATABASE" CASESENSITIVE="true"/>
</REPOSITORY_ID_INT_DOMAIN>
</Metabases>
</PP>
Укажите полное доменное DNS-имя сервера:
в параметре SERVER в файле /opt/foresight/fp10.x-biserver/etc/Metabases.xml;
в параметрах serviceUrl, baseUrl в файле /opt/foresight/fp10.x-webserver/r/config/config.json;
в переменной PP_SOM в файле /etc/opt/foresight/fp10.x-webserver/envvars.
Для веб-сервера Apache2 укажите параметр ServerName внутри тега <VirtualHost> в файле:
/etc/apache2-fp10.x-web/sites-available/webserver.conf в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x-web/conf.d/00-virtualhost.conf в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x-web/conf/sites-available/000-default.conf в ALT Linux.
Задайте параметры сопоставления атрибутов службы каталогов и атрибутов субъектов безопасности «Форсайт. Аналитическая платформа», укажите учётные данные для подключения к службе каталогов в файле settings.xml. При необходимости для доменов или поддоменов подключите дополнительные контроллеры.
Перезапустите BI-сервер и серверную часть веб-приложения.
Добавьте доменных пользователей и/или группы в менеджере безопасности.
После выполнения действий будет настроена доменная/интегрированная доменная аутентификация.
Для подготовки сервера СУБД PostgreSQL:
Убедитесь, что включена поддержка доменных групп. При поддержке доменных групп права доступа распространяются на входящих в неё пользователей СУБД без явного добавления каждой учётной записи в менеджере безопасности.
Примечание. Поддержка доменных групп доступна, если на уровне СУБД содержатся группы в виде ролей и пользователи, входящие в эти роли.
Настройте аутентификацию по методу GSSAPI в соответствии с документацией PostgreSQL.
Убедитесь, что для службы postgres указан полный путь до keytab-файла в конфигурационном файле /var/lib/pgpro/ent-13/data/postgresql.conf:
# GSSAPI using Kerberos
krb_server_keyfile = '<путь до keytab-файла для службы postgres>'
krb_caseins_users = on
Расположение файла postgresql.conf может отличаться в зависимости от версии СУБД.
Настройте использование полного доменного имени пользователя при необходимости. По умолчанию при добавлении доменного пользователя в СУБД PostgreSQL используется короткое имя пользователя без учёта домена. Для использования полного доменного имени задайте параметр USEUPN со значением true в файле /opt/foresight/fp10.x-biserver/etc/Metabases.xml:
<LogonData ... USEUPN="true"/>
Перезапустите сервер СУБД.
После выполнения действий будет подготовлен сервер СУБД.
Примечание. При настройке доменной аутентификации пропустите шаг.
Для настройки браузера включите сервер в разрешённые узлы или локальную сеть, например:
в браузере Google Chrome добавьте строковый параметр AuthNegotiateDelegateAllowlist в ветке реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] с указанием списка серверов, которым браузер может предоставлять учётные данные пользователей;
в браузере Mozilla Firefox задайте значение «http://,https://» для параметров network.negotiate-auth.delegation-uris, network.negotiate-auth.trusted-uris. Параметры содержатся в списке по адресу:
about:config
Вход в систему отличается в зависимости от используемого типа аутентификации.
Для входа в систему при использовании доменной аутентификации выполните действия в окне регистрации:
Выберите репозиторий, предназначенный для доменных пользователей, введите доменное имя пользователя в формате «домен\имя» и пароль.
Нажмите кнопку «Войти».

Для входа в систему при использовании интегрированной доменной аутентификации нажмите кнопку «Войти» в окне регистрации:

После выполнения действий авторизация доменного пользователя будет выполняться с использованием механизма аутентификации Kerberos на стороне СУБД.
См. также:
Аутентификация в продукте | Настройка интегрированной доменной аутентификации со встроенной авторизацией | Настройка доменной аутентификации со встроенной авторизацией