v8.01 (build: Jul 11 2023)

LDAP для PostgreSQL

Щоб мати можливість входу в БД PostgreSQL з логінами з AD (через LDAP), необхідно зробити ряд налаштувань.

На сервері LDAP (зазвичай це контролер домену):
Для незахищеного з'єднання достатньо відкрити порт TCP 389, для захищеного (LDAPS) - TCP 636 та встановити SSL-сертифікат (тут не розглядається).

В файлі "data/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)

© Mirobase