Шифрование конфигурационных файлов - Продукт Modus BI
Для шифрования определенных значений в конфигурационных файлах используется специальная утилита «encryption-settings».
Для Windows:
- в каталоге с установленной службой Аналитического портала в папке utils размещается файл для шифрования настроек «encryption-settings.exe».
Для ОС *nix аналогично:
- в каталоге с установленной службой Аналитического портала в папке utils размещается файл для шифрования настроек «encryption-settings».
Файл «encryption-settings.exe» автоматически поставляется при установке Аналитического портала.
Шифровать имеет смысл файлы с доступными для редактирования вручную настройками:
- "modusbi.json" – файл конфигурации Аналитического портала;
- "settings.json" – файл конфигурации Агента ETL.
Для определения необходимых полей файла конфигурации, необходимо указать поля для шифрования в отдельном файле с расширением “*.jsonpath”, например для файла портала:
{
"secrets": [
"$.metadata.datasource"
]
}
или для файла агента:
{
"secrets": [
"$.Password",
"$.ETLLogURL",
"$.ETLSuccessURL"
]
}
Параметры запуска утилиты:
- Генерация ключей происходит параметром:
-g
. После выполнения ключи создадутся в текущем каталоге. - Шифрование настроек командой: -e -settings <путь к файлу конфигурации> -key <путь к файлу с публичным ключом> -fields <путь к файлу со списком полей для шифрования>. После выполнения, в файле конфигурации зашифровываются указанные поля.
Исполняемый файл зависит от типа ОС:
- для Windows – "encryption-settings.exe";
- для Linux – "encryption-settings"
Пример команд:
.\encryption-settings.exe -g
.\encryption-settings -e -settings modusbi.json -key public_key.pem -fields secrets-modusbi.jsonpath
Обратите внимание, что при шифровании настроек меняется оригинальный файл, поэтому желательно иметь его незашифрованную копию.
Для того чтобы компоненты могли прочесть зашифрованный файл необходимо, чтобы:
- Файл с зашифрованными настройками должен располагаться рядом с исполняемым файлом компонента Агента ETL или Аналитического портала.
- Приватный ключ находился по определенному пути, в зависимости от компонента:
- Аналитический портал – при запуске указать параметр --config_key "путь к файлу".
- Агент ETL – путь к приватному ключу равен пути к каталогу лог-файла, (задается параметром "LogFile" в файле конфигурации агента, по умолчанию – каталог установки).