Шифрование конфигурационных файлов

Для шифрования определенных значений в конфигурационных файлах используется специальная утилита «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" в файле конфигурации агента, по умолчанию – каталог установки).