Глава 22. Аутентификация клиентского приложения

Содержание

22.1. Файл pg_hba.conf
22.2. Файл сопоставления имён пользователей
22.3. Методы аутентификации
22.4. Аутентификация trust
22.5. Аутентификация password
22.6. Аутентификация GSSAPI
22.7. Аутентификация SSPI
22.8. Аутентификация ident
22.9. Аутентификация peer
22.10. Аутентификация LDAP
22.11. Аутентификация RADIUS
22.12. Аутентификация по сертификату
22.13. Аутентификация PAM
22.14. Аутентификация BSD
22.15. Проблемы аутентификации

При подключении к серверу базы данных, клиентское приложение указывает имя пользователя PostgreSQL, так же как и при обычном входе пользователя на компьютер с ОС Unix. При работе в среде SQL по имени пользователя определяется, какие у него есть права доступа к объектам базы данных (подробнее это описывается в Главе 23). Следовательно, важно указать на этом этапе, к каким базам пользователь имеет право подключиться.

Примечание

Как можно узнать из Главы 23, PostgreSQL управляет правами и привилегиями, используя так называемые «роли». В этой главе под пользователем мы подразумеваем «роль с привилегией LOGIN».

Аутентификация это процесс идентификации клиента сервером базы данных, а также определение того, может ли клиентское приложение (или пользователь запустивший приложение) подключиться с указанным именем пользователя.

PostgreSQL предлагает несколько различных методов аутентификации клиентов. Метод аутентификации конкретного клиентского соединения может основываться на адресе компьютера клиента, имени базы данных, имени пользователя.

Имена пользователей базы данных PostgreSQL не имеют прямой связи с пользователями операционной системы на которой запущен сервер. Если у всех пользователей базы данных заведена учётная запись в операционной системе сервера, то имеет смысл назначить им точно такие же имена для входа в PostgreSQL. Однако сервер, принимающий удалённые подключения, может иметь большое количество пользователей базы данных, у которых нет учётной записи в ОС. В таких случаях не требуется соответствие между именами пользователей базы данных и именами пользователей операционной системы.