v10.55 (build: Dec 19 2024) |
|
|
LDAP для PostgreSQLДля того, чтобы иметь возможность входа в БД PostgreSQL с логинами из AD (через LDAP), необходимо произвести ряд настроек.На сервере LDAP (обычно это контроллер домена): Для незащищенного соединения достаточно открыть порт TCP 389, для защищенного (LDAPS) - TCP 636 и установить SSL-сертификат (здесь не рассматривается). В файле "pg_hba.conf" SQL-сервера: В первую очередь нужно разрешить не-доменным пользователям логин по паролю SQL (для совместимости), и критически-важно это сделать для внутреннего пользователя сервера комплекса stkhintuser. Также можно оставить логин postgres и другие. Для всех остальных пользователей необходимо включить интеграцию с LDAP. Соответственно порядок строк имеет значение! Ниже приведен пример: # TYPE DATABASE USER ADDRESS METHOD # postgres login: host all postgres 0.0.0.0/0 scram-sha-256 host all postgres ::/0 scram-sha-256 # internal user login: host stkh stkhintuser 0.0.0.0/0 scram-sha-256 host stkh stkhintuser ::/0 scram-sha-256 # for LDAP (non-secure): host all all 0.0.0.0/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" host all all ::/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" # for LDAPS (SSL-secured), option 1: host all all 0.0.0.0/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" ldaptls=1 host all all ::/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" ldaptls=1 # for LDAPS (SSL-secured), or alternate option 2: host all all 0.0.0.0/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" ldapscheme=ldaps host all all ::/0 ldap ldapserver="dc1.mydomain.company.org" ldapprefix="" ldapscheme=ldapsПосле изменения настроек нужно перезапустить службу SQL-сервера! Далее для входа нужно использовать имя пользователя в формате NETBIOS_DOMAIN\username (например, MYDOMAIN\john.smith для домена mydomain.company.org) |
© СТАХАНОВЕЦ |