Аутентификация ident
Эта страница переведена при помощи нейросети GigaChat.
Метод аутентификации ident
функционирует следующим образом: имя пользователя операционной системы клиента извлекается с помощью сервера ident и принимается как допустимое имя пользователя базы данных (при необходимости производится сопоставление имен). Данный метод доступен только для TCP/IP-соединений.
Когда идентификатор указан для локального (не TCP/IP) соединения, будет использоваться аутентификация peer (см. Раздел Аутентификация peer).
Для метода аутентификации ident
предусмотрены следующие параметры конфигурации:
map
: Данный параметр позволяет сопоставлять имена пользователей операционной системы с именами пользователей базы данных. Подробности см. в разделе «Карты сопоставления имен пользователей».
Протокол идентификации (ident
) регламентирован документом RFC 1413. Большинство Unix-подобных систем включают предустановленный идент-сервер, слушающий TCP-порт 113. Его задача — отвечать на запросы вида: «Кто именно установил соединение с моего порта X на порт Y?». Так как PostgreSQL владеет информацией о портах X и Y, он может обратиться к идент-серверу на клиентской стороне и выяснить имя пользователя ОС, создавшего данное соединение.
Однако данный подход сильно зависит от надежности клиентской машины: злоумышленник, взломавший клиент, способен развернуть собственный идент-сервер на порту 113 и подставить произвольное имя пользователя. Таким образом, метод эффективен только в изолированных сетях, где все компьютеры строго контролируются, а администратор базы данных тесно сотрудничает с администраторами систем. Важно помнить, что доверять следует только надежному идент-серверу.
Протокол идентификации не предназначен для авторизации или контроля доступа | ||
--RFC 1413 |
Определенные идент-серверы обладают дополнительным режимом, при котором имя пользователя возвращается в зашифрованном виде, доступным только администратору исходной машины. При взаимодействии с PostgreSQL использование такой опции недопустимо, так как база данных не способна расшифровать полученную строку и установить достоверность имени пользователя.