31.17. ÐолÑÑение паÑамеÑÑов ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑеÑез LDAP
ÐÑли библиоÑека libpq бÑла ÑобÑана Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка LDAP (configure пеÑедавалÑÑ ÐºÐ»ÑÑ ), Ñакие паÑамеÑÑÑ ÑоединениÑ, как --with-ldaphost и dbname, можно полÑÑиÑÑ ÑеÑез LDAP Ñ ÑенÑÑалÑного ÑеÑвеÑа. ÐÑеимÑÑеÑÑво Ñакого подÑ
ода в Ñом, ÑÑо пÑи изменении паÑамеÑÑов подклÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ
ÑвойÑÑва ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ пÑидÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð½Ð° вÑеÑ
клиенÑÑкиÑ
компÑÑÑеÑаÑ
.
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов Ñоединений ÑеÑез LDAP иÑполÑзÑеÑÑÑ Ñайл Ñоединений ÑлÑжб pg_service.conf (Ñм. Раздел 31.16). СÑÑока в pg_service.conf, наÑинаÑÑаÑÑÑ Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿ÑоÑокола ldap://, бÑÐ´ÐµÑ Ð²Ð¾ÑпÑинÑÑа как URL в LDAP и вÑполниÑÑÑ ÐºÐ°Ðº запÑÐ¾Ñ Ðº LDAP. РезÑлÑÑаÑом запÑоÑа должен бÑÑÑ ÑпиÑок Ð¿Ð°Ñ keyword = value, коÑоÑÑе и бÑдÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ Ð¿Ð°ÑамеÑÑÑ Ñоединений. ÐаданнÑй URL должен ÑооÑвеÑÑÑвоваÑÑ RFC 1959 и имеÑÑ ÑледÑÑÑий вид:
ldap://[имÑ_ÑеÑвеÑа[:поÑÑ]]/база_поиÑка?аÑÑибÑÑ?облаÑÑÑ_поиÑка?ÑилÑÑÑ
; по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ_ÑеÑвеÑа â localhost, а поÑÑ â 389.
ÐбÑабоÑка pg_service.conf пÑекÑаÑаеÑÑÑ Ð¿Ð¾Ñле ÑдаÑного поиÑка в LDAP, но еÑли Ñ ÑеÑвеÑом LDAP ÑвÑзаÑÑÑÑ Ð½Ðµ ÑдаÑÑÑÑ, обÑабаÑÑваÑÑÑÑ ÑледÑÑÑие ÑÑÑоки ÑÑого Ñайла. Так Ñделано Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑеализоваÑÑ Ð·Ð°Ð¿Ð°ÑнÑе ваÑианÑÑ, добавив дополниÑелÑнÑе ÑÑÑоки Ñ URL LDAP, ÑказÑваÑÑими на дÑÑгие ÑеÑвеÑÑ LDAP, или клаÑÑиÑеÑкие паÑÑ keyword = value, либо иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑÑ Ñоединений по ÑмолÑаниÑ. ÐÑли же Ð²Ñ Ñ
оÑиÑе полÑÑиÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð² ÑÑой ÑиÑÑаÑии, добавÑÑе поÑле ÑÑÑоки Ñ URL-адÑеÑом LDAP ÑинÑакÑиÑеÑки некоÑÑекÑнÑÑ ÑÑÑокÑ.
ÐÑоÑÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ LDAP, ÑозданнÑÑ Ð¸Ð· Ñакого Ñайла LDIF
version:1 dn:cn=mydatabase,dc=mycompany,dc=com changetype:add objectclass:top objectclass:device cn:mydatabase description:host=dbserver.mycompany.com description:port=5439 description:dbname=mydb description:user=mydb_user description:sslmode=require
можно запÑоÑиÑÑ Ð¸Ð· каÑалога LDAP, Ñказав ÑледÑÑÑий URL:
ldap://ldap.mycompany.com/dc=mycompany,dc=com?description?one?(cn=mydatabase)
Также возможно ÑоÑеÑаÑÑ Ð¾Ð±ÑÑнÑе запиÑи в Ñайле ÑлÑжб Ñ Ð¿Ð¾Ð¸Ñком в LDAP. ÐолнÑй пÑÐ¸Ð¼ÐµÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑлÑÐ¶Ð±Ñ Ð² pg_service.conf Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñаким:
# в LDAP Ñ ÑаниÑÑÑ ÑолÑко Ð¸Ð¼Ñ Ð¸ поÑÑ ÑеÑвеÑа; Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð¸ полÑзоваÑÐµÐ»Ñ Ð½Ñжно задаÑÑ Ñвно [customerdb] dbname=customer user=appuser ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)