Postgres LDAP authentication



我正在尝试与Postgres建立LDAP身份验证。我在我的数据库中有一个用户,与AD中同名,pg_hba.conf中有以下字符串:

host all myusername 0.0.0.0/0 ldap ldapserver=ldap.server.address ldapport=10636 ldapprefix="" ldapsuffix="@domain.com" ldapscheme=ldaps

postgres服务器可访问的LDAP服务器。LDAP服务已启动并监听端口10636我可以用这个用户名/密码登录与AD集成的其他服务。

但是当我连接到数据库时,我得到错误:

user is not authenticated (LDAP)

我做错了什么?

我在想如何在PostgreSQL中配置LDAP。

这是个好地方!:)

注意:ldap方法没有map属性,所以不能通过pg_ident.conf文件进行比较您需要像这样在pg_hba.conf文件中配置身份验证:

# TYPE  DATABASE    USER    ADDRESS     METHOD
host    all         all     0.0.0.0/0   ldap    ldapserver=mydomain.local ldapport=389 ldaptls=1 ldapprefix=""

# TYPE  DATABASE    USER    ADDRESS     METHOD
host    all         all     0.0.0.0/0   ldap    ldapserver=mydomain.local ldapport=636 ldapprefix=""

用户需要使用与UPN名称完全匹配的名称创建!

CREATE ROLE "kul@mydomain.local" WITH SUPERUSER LOGIN;

连接时,使用完整的UPN名称格式!

psql -h 127.0.0.1 -U "kul@mydomain.local" -W postgres

最新更新