Настройка интеграции ADB и LDAP

Для настройки авторизации пользователей ADB через LDAP необходимо выполнить следующие действия:

  1. Убедиться, что известны необходимые данные для настройки:
  • хост и порт LDAP-сервера (в примере используется хост ldap_host, порт 389);
  • формат DN LDAP-сервера (в примере используется OU=Regions,DC=org_name,DC=local);
  • имя пользователя и пароль для входа в LDAP-сервер (в примере используется имя пользователя ldap_sys_user, пароль ldap_sys_passwd);
  • список пользователей для синхронизации;
  • поле записи в LDAP, отвечающее за связь пользователя в LDAP и в СУБД (обычно sAMAccountName).
  1. Установить на сервер-мастер пакет openldap-clients:
yum install openldap-clients -y
  1. Выполнить пробный поиск на сервере LDAP с сервера-мастера ADB. Пример:
ldapsearch -D "CN= ldap_sys_user,OU=System Accounts,DC=org_name,DC=local" -b "OU=Regions,DC= org_name,DC=local" -h ldap_host -w ldap_sys_passwd "sAMAccountName=H.Simpson"

Убедиться, что поиск для выбранных пользователей завершается успешно.

  1. Создать пользователей в СУБД и при необходимости добавить их в группу. Пример:
  • создание группы:
adb=# create role ldap_users;
  • создание пользователя:
adb=# create role "H.Simpson" login;
  • включение пользователя в группу:
adb=# grant ldap_users to "H.Simpson";
  1. Связать группу пользователей в ADB с LDAP-сервером, внеся изменение в файл pg_hba.conf на мастер-сервере ADB. Пример:
host   all  +ldap_users   0.0.0.0/0   ldap ldapserver=ldap_host ldapbasedn="OU=Regions,DC= org_name,DC=local" ldapbinddn="CN=ldap_sys_user,OU=System Accounts,DC=org_name,DC=local" ldapbindpasswd="ldap_sys_passwd" ldapsearchattribute="sAMAccountName"
  1. Зафиксировать изменения в СУБД:
gpstop -u
  1. Проверить подключение к СУБД.

Для проверки можно воспользоваться утилитой psql, однако подключение должно выполняться с хоста, отличного от мастера СУБД (любой из сегментов или других серверов):

[root@sdw1 -]# psql -h mdw -U "H.Simpson"
Password for user H.Simpson:
< enter H.Simpson domain password >