В этой статье:

Создание учётных данных служебного пользователя

Сохранение созданных учётных данных служебного пользователя

Создание служебного пользователя

Служебный пользователь подсистемы безопасности обеспечивает:

Примечание. Создание служебного пользователя необходимо только для репозитория, созданного на базе СУБД Oracle, Microsoft SQL Server, PostgreSQL.

Для создания служебного пользователя подсистемы безопасности в ОС Linux:

  1. Создайте учётные данные служебного пользователя на сервере базы данных.

  1. Сохраните созданные учётные данные служебного пользователя на компьютере с установленным BI-сервером.

После выполнения действий будет создан служебный пользователь подсистемы безопасности средствами СУБД.

Важно. Зарезервированный служебный пользователь P4AUDIT объявлен устаревшим и в следующих версиях «Форсайт. Аналитическая платформа» будет заблокирован. Для обеспечения безопасности и входа в систему создайте нового служебного пользователя подсистемы безопасности и сохраните его учётные данные на компьютере с установленным BI-сервером.

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

ALTER USER SERVICE_USER_NAME IDENTIFIED BY 'NEW_PASSWORD';
ALTER ROLE "SERVICE_USER_NAME" WITH PASSWORD 'NEW_PASSWORD';
ALTER LOGIN SERVICE_USER_NAME WITH PASSWORD = 'NEW_PASSWORD';

Где:

Создание учётных данных служебного пользователя

Для создания учётных данных служебного пользователя используйте средства СУБД. Создайте и запустите скрипт, с помощью которого на сервере СУБД будет создан служебный пользователь с определённым набором прав доступа к объектам.

Скрипт для СУБД Oracle, PostgreSQL, Microsoft SQL Server:

-- Создание служебного пользователя 
CREATE USER SERVICE_USER_NAME
    IDENTIFIED BY SERVICE_USER_PASSWORD
    DEFAULT TABLESPACE USERS
    TEMPORARY TABLESPACE TEMP_TABLESPACE_NAME
    PROFILE DEFAULT
    ACCOUNT UNLOCK;

-- Раздача прав доступа
GRANT CONNECT TO SERVICE_USER_NAME;
GRANT RESOURCE TO SERVICE_USER_NAME;
ALTER USER SERVICE_USER_NAME DEFAULT ROLE ALL;
GRANT UNLIMITED TABLESPACE TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_DU_CHK TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_DU_CLEAR TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_DU_SAVE TO SERVICE_USER_NAME;
GRANT SELECT ON SCHEMA_NAME.B_JLO TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_LOCKUSER TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_LOGERR TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_LOGNERR TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_LOGNERR_S TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_SEC_DAT_VALUE TO SERVICE_USER_NAME;
GRANT EXECUTE ON SCHEMA_NAME.B_USR_CHECK TO SERVICE_USER_NAME;
GRANT SELECT ON SYS.V_$SESSION TO SERVICE_USER_NAME;
-- Создание служебного пользователя
CREATE ROLE "SERVICE_USER_NAME" WITH
    LOGIN
    NOSUPERUSER
    INHERIT
    NOCREATEDB
    NOCREATEROLE
    NOREPLICATION
    ENCRYPTED PASSWORD 'SERVICE_USER_PASSWORD';

-- Раздача прав
ALTER ROLE "SERVICE_USER_NAME" SET lo_compat_privileges TO 'on';
GRANT SELECT ON TABLE SCHEMA_NAME.b_jlo TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_logerr(character varying, character varying, character varying, character varying, character varying, character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_lognerr(character varying, character varying, character varying, character varying, character varying, character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_lognerr_s(character varying, character varying, character varying, character varying, character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_sec_dat_value(character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_du_chk(character varying, numeric) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_du_clear(character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_du_save(character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_usr_check(character varying) TO "SERVICE_USER_NAME";
GRANT EXECUTE ON FUNCTION SCHEMA_NAME.b_lockuser(character varying, integer) TO "SERVICE_USER_NAME";

Скрипт используется для схемы по умолчанию public. Если репозиторий метаданных был создан на пользовательской схеме, то добавьте строку:

GRANT USAGE ON SCHEMA "SCHEMA_NAME" to "SERVICE_USER_NAME";

Перед строкой:

ALTER ROLE "SERVICE_USER_NAME" SET lo_compat_privileges TO 'on';

-- Создание учётных данных служебного пользователя
create login SERVICE_USER_NAME with password = 'SERVICE_USER_PASSWORD';

-- Создание служебного пользователя
create user SERVICE_USER_NAME for login SERVICE_USER_NAME;

-- Раздача прав
grant execute on SCHEMA_NAME.B_LOGERR to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_LOGNERR to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_LOGNERR_S to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_SEC_DAT_VALUE to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_DU_CHK to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_DU_CLEAR to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_DU_SAVE to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_USR_CHECK to SERVICE_USER_NAME;
grant execute on SCHEMA_NAME.B_LOCKUSER to SERVICE_USER_NAME;

Где:

Важно. Имя пользователя P4AUDIT зарезервировано системой и недоступно для использования.

Сохранение созданных учётных данных служебного пользователя

Для сохранения созданных учётных данных служебного пользователя на компьютере с установленным BI-сервером запустите консольную утилиту PP.Util, которая расположена в папке установки «Форсайт. Аналитическая платформа», со следующими параметрами:

sudo PP_NODISPLAY=1 ./PP.Util /save_audit_creds /ALG enc_alg /SCOPE scope realm|/DC login password

Где:

Важно. Для обеспечения безопасности в промышленной эксплуатации продукта «Форсайт. Аналитическая платформа» используйте значение gos или pro.

Необязательный параметр. Если параметр не задан, то используется значение по умолчанию;

В ОС Windows учётные данные будут храниться в ветке реестра текущего пользователя [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\9.0\Audit\Credentials\Item0] и доступны для использования только текущему пользователю на компьютере.

В ОС Linux учётные данные будут храниться в файле registry.reg, расположенном в каталоге по умолчанию. Каталог по умолчанию зависит от указания переменой окружения HOME в файле /etc/opt/Foresight/fp9.x-biserver/envvars:

В ОС Windows учётные данные будут храниться в ветке реестра локальной машины [HKEY_LOCAL_MACHINE\SOFTWARE\Foresight\Foresight Analytics Platform\9.0\Audit\Credentials\Item0] и доступны для использования всем пользователям на компьютере.

В ОС Linux учётные данные будут храниться в файле registry.reg, расположенном в каталоге /opt/Foresight/fp9.x-biserver/bin;

В ОС Windows учётные данные будут храниться в файле settings.xml, расположенном по пути %PROGRAMDATA%\Foresight\Foresight Analytics Platform.

Примечание. По умолчанию папка ProgramData скрыта в операционной системе.

В ОС Linux учётные данные будут храниться в файле settings.xml, расположенном в созданном каталоге. Каталог зависит от указания переменой окружения HOME в файле /etc/opt/Foresight/fp9.x-biserver/envvars:

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

Важно. При сохранении учётных данных служебного пользователя в файл settings.xml в ОС Linux выполните предварительные действия, указанные ниже, для раздачи прав доступа к файлу.

Необязательный параметр. Если параметр не задан, то используется значение по умолчанию;

Примечание. При настройке подключения к репозиторию на каждом клиентском компьютере или на компьютере с установленным BI-сервером IP-адрес или псевдоним сервера должен совпадать с сервером, указанным в параметре SERVER_DATABASE.

Например: "127.0.0.1|POSTGRES".

Примечание. Для избежания синтаксических ошибок значение задаётся в верхних двойных кавычках.

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

При сохранении созданных учётных данных служебного пользователя в файл settings.xml в ОС Linux выполните предварительные действия для раздачи прав доступа к файлу:

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

    • если переменная HOME задана:

sudo mkdir -p "$HOME/.config/Foresight/Foresight Analytics Platform"

sudo mkdir –p "/var/www/.config/Foresight/Foresight Analytics Platform"

  1. Назначьте владельцем каталога пользователя www-data с помощью команды:

    • если переменная HOME задана:

sudo chown -R www-data:www-data "$HOME/.config/Foresight/Foresight Analytics Platform"

sudo chown -R www-data:www-data "/var/www/.config/Foresight/Foresight Analytics Platform"

Указанный пример применим для раздачи прав в Ubuntu. При работе в других дистрибутивах ОС Linux замените «www-data:www-data» на значение из таблицы:

Имя пользователя:Группа Дистрибутив ОС Linux
www-data:www-data Ubuntu, Astra Linux SE 1.7
apache:apache RedHat-подобные дистрибутивы, ALT Linux
  1. Запустите утилиту PP.Util от имени пользователя www-data, daemon или apache, и сохраните учётные данные служебного пользователя. Пример команды:

sudo -u <имя пользователя> PP_NODISPLAY=1 /opt/Foresight/fp9.x-biserver/bin/PP.Util /sac /SCOPE file "SERVER_DATABASE|POSTGRES" SERVICE_USER_NAME SERVICE_USER_PASSWORD

Где:

  1. Перезапустите сервер Apache в зависимости от операционной системы:

    • для RedHat-подобных дистрибутивов:

sudo systemctl restart httpd-fp9.x

    • для Ubuntu, Astra Linux SE 1.7:

sudo systemctl restart apache2-fp9.x

    • для ALT Linux:

sudo systemctl restart httpd2-fp9.x

После выполнения действий учётные данные служебного пользователя будут сохранены в файл settings.xml.

Важно. Служебный пользователь может быть заблокирован при попытке входа в репозиторий, если его учётные данные, добавленные с помощью приложения PP.Util, не совпадают с исходными учётными данными, заданными при создании. Для разблокировки служебного пользователя обратитесь к администратору СУБД.

См. также:

Создание и управление репозиториями метаданных | Менеджер репозитория Linux