Варианты заполнения паролей в пользовательском конфигурационном файле и способы засекречивания
Существует 4 вида паролей в пользовательском конфигурационном файле:
- пароли в открытом виде;
- пароли, засекреченные в формате
base64с помощью утилитыpg_auth_password. - пароли в формате
scram-sha-256илиmd5хеша для создания пользователя в БД Pangolin; - пароли в формате контрольной суммы
sha-512для создания пользователей Linux; - пароли, засекреченные с помощью утилиты засекречивания паролей.
Пароли в открытом виде – самый простой, но небезопасный способ задать пароль учетной записи при работе скриптов автоматизации. Любой пароль можно указать в открытом текстовом виде, например:
postgres_db_pass: '<password>'
Пароли в формате scram-sha-256 или md5 необходимы для УЗ, создаваемых в БД, чтобы пароль в открытом виде не попал в логи работы какого-либо компонента продукта. Получить пароль в данном формате можно, используя утилиту получения хеша пароля pangolin_password_hash. Подробности использования описаны в документе «Руководство администратора», раздел «Получение хеш-сумм паролей для заполнения пользовательского конфигурационного файла Pangolin».
Пример заполнения строки конфигурационного файла с паролем scram-sha-256:
postgres_db_pass: SCRAM-SHA-256$4096:{hash}
Пример заполнения строки конфигурационного файла с паролем md5 (в случае, если в pg_hba.conf планируется использовать данный способ аутентификации, хеш вычисляется аналогично scram-sha-256):
postgres_db_pass: {hash}
Использованиеmd5 в версии 8.x.x не рекомендуется. Поддержка будет прекращена в будущей мажорной версии продукта СУБД Pangolin.
При необходимости отключения WARNING-сообщений о данном изменении – установите значение off для параметра md5_password_warnings.
Пароли в формате контрольной суммы sha-512 для создания пользователей linux нужны для того, чтобы пароль в открытом текстовом виде не попал вместе с командой создания пользователя в историю linux или системный журнал. Вычислить строку для заполнения пользовательского конфигурационного файла возможно при помощи утилиты pangolin_password_hash. Подробности использования описаны в документации утилиты. Пример заполнения строки конфигурационного файла с паролем sha-512:
postgres_linux_pass: postgres:{hash}