You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在开源PostgreSQL中启用LDAP组级身份认证(非用户级)

PostgreSQL LDAP组级身份认证配置方法

核心思路

要实现AD组级认证,需先验证用户的LDAP身份,再检查该用户是否属于指定的AD组。你之前的错误是将组过滤条件写在了ldapsearchattribute中——这个参数用于匹配用户登录名,组校验需要额外添加专用参数。

两种有效配置方案

方案1:直接指定组DN(推荐)

适用于已知组完整LDAP DN的场景,配置如下:

host all all 10.0.0.0/8 ldap ldapscheme="ldaps" ldapserver=domain ldapbasedn="OU=Users,DC=domain,DC=com" ldapbinddn="CN=bindaccount,OU=SA,OU=Users,DC=domain,DC=com" ldapbindpasswd="***" ldapsearchattribute="sAMAccountName" ldapgroupdn="CN=DBA,OU=Groups,DC=domain,DC=com" ldapmemberattribute="member"

参数说明:

  • ldapsearchattribute="sAMAccountName":保留原有配置,匹配用户登录名与AD的sAMAccountName属性
  • ldapgroupdn:替换为DBA组的完整LDAP DN(需根据实际AD结构调整)
  • ldapmemberattribute="member":AD中组存储成员的属性,值为用户的完整DN

方案2:动态搜索组

适用于需要通过组名动态查找组的场景,配置如下:

host all all 10.0.0.0/8 ldap ldapscheme="ldaps" ldapserver=domain ldapbasedn="OU=Users,DC=domain,DC=com" ldapbinddn="CN=bindaccount,OU=SA,OU=Users,DC=domain,DC=com" ldapbindpasswd="***" ldapsearchattribute="sAMAccountName" ldapgroupbasedn="OU=Groups,DC=domain,DC=com" ldapgrouprdnattribute="sAMAccountName" ldapgroupattribute="member" ldapgrouppattern="DBA"

参数说明:

  • ldapgroupbasedn:替换为AD组所在的基础DN(组所在OU)
  • ldapgrouprdnattribute="sAMAccountName":组的名称属性,对应AD中组的sAMAccountName
  • ldapgrouppattern="DBA":要匹配的目标组名
  • ldapgroupattribute="member":同方案1,组存储成员的属性

关键注意事项

  • 确保bindaccount拥有读取AD用户和组信息的权限,包括读取用户的memberOf属性或组的member属性
  • 可通过ldapsearch命令验证AD数据准确性:
    # 验证用户的memberOf属性
    ldapsearch -H ldaps://domain -D "CN=bindaccount,OU=SA,OU=Users,DC=domain,DC=com" -w "***" -b "OU=Users,DC=domain,DC=com" "(sAMAccountName=testuser)" memberOf
    
    # 验证组的成员列表
    ldapsearch -H ldaps://domain -D "CN=bindaccount,OU=SA,OU=Users,DC=domain,DC=com" -w "***" -b "CN=DBA,OU=Groups,DC=domain,DC=com" "(objectClass=group)" member
    
  • 修改pg_hba.conf后,需重载PostgreSQL配置生效:
    pg_ctl reload
    
  • 测试时使用组内用户登录,确认是否能正常访问数据库

内容的提问来源于stack exchange,提问作者Ram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:15:06