↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 认证方法 / 身份认证与访问控制

ldap

认证方法 ldap。

当前查看 PostgreSQL 18。

中文定义与说明

认证方法 ldap。

索引访问方法
ldap
配置
pg_hba.conf

同版本中文手册节选

这种认证方法的工作方式与 password 类似,只不过它使用 LDAP 作为密码验证方法。LDAP 只用于验证用户名/密码对。因此,在使用 LDAP 进行认证之前,用户必须已经存在于数据库中。

LDAP 认证可以在两种模式下工作。第一种模式称为简单绑定模式,服务器会绑定到按 prefix username suffix 形式构造出的可分辨名称。通常,prefix 参数用于指定 cn=,或在 Active Directory 环境中指定 DOMAIN\。suffix 则用于指定非 Active Directory 环境中 DN 的剩余部分。

第二种模式称为搜索+绑定模式,服务器首先使用由 ldapbinddn 和 ldapbindpasswd 指定的固定用户名和密码绑定到 LDAP 目录,并搜索试图登录数据库的用户。如果没有配置用户名和密码,则会尝试对目录进行匿名绑定。搜索会在 ldapbasedn 指定的子树上进行,并尝试对 ldapsearchattribute 指定的属性做精确匹配。一旦在搜索中找到了该用户,服务器就会作为该用户重新绑定到目录,并使用客户端指定的密码来验证登录是否正确。这种模式与 Apache mod_authnz_ldap 和 pam_ldap 等软件中的 LDAP 认证方案相同。这种方法使目录中用户对象的位置更具灵活性,但会对 LDAP 服务器额外发起两次请求。

以下配置选项在两种模式下都使用:

查看完整中文手册与上下文。

说明

认证方法 ldap。

方法
ldap
配置
pg_hba.conf
清单
用户可见的源码认证方法

手册中的方法选项与替代方式

选项或术语含义
ldapserver要连接的LDAP服务器的名称或IP地址。可以指定多个服务器,用空格分隔。
ldapport要连接的LDAP服务器的端口号。如果未指定端口,则将使用LDAP库的默认端口设置。
ldapscheme设置为 ldaps 以使用LDAPS。这是一种非标准的通过 SSL 使用 LDAP 的方式,受一些LDAP服务器实现支持。另请参阅 ldaptls 选项作为替代。
ldaptls设置为 1 时,PostgreSQL 与 LDAP 服务器之间的连接使用 TLS 加密,通过 RFC 4513 规定的 StartTLS 操作实现。另可参见 ldapscheme 选项所提供的替代方式。
ldapprefix在进行简单绑定认证时,附加到用户名前面以形成绑定 DN 的字符串。
ldapsuffix在进行简单绑定认证时,附加到用户名后面以形成绑定 DN 的字符串。
ldapbasedn在进行搜索+绑定认证时,用作用户搜索起点的根 DN。
ldapbinddn在进行搜索+绑定认证时,用于绑定到目录并执行搜索的用户 DN。
ldapbindpasswd在进行搜索+绑定认证时,用于绑定到目录并执行搜索的用户密码。
ldapsearchattribute在进行搜索+绑定认证时,用于与用户名匹配的属性。如果未指定属性,则会使用 uid 属性。
ldapsearchfilter在进行搜索+绑定认证时使用的搜索过滤器。其中出现的 $username 会被替换为用户名。这使得搜索过滤器比 ldapsearchattribute 更灵活。
ldapurl符合 RFC 4516 的 LDAP URL。格式为 ldap[s]://host[:port]/basedn[?[attribute][?[scope][?[filter]]]]。scope 必须为 base、one 或 sub,通常使用 sub;默认值 base 在此用途下一般没有实际帮助。attribute 可指定一个属性,作为 ldapsearchattribute 的值;attribute 为空时,filter 可用作 ldapsearchfilter 的值。URL 方案 ldaps 表示通过 SSL 建立 LDAP 连接,等同于 ldapscheme=ldaps。若要通过 StartTLS 使用加密 LDAP 连接,应使用普通的 ldap URL 方案,并在 ldapurl 之外指定 ldaptls。对于非匿名绑定,必须另行指定 ldapbinddn 和 ldapbindpasswd。LDAP URL 目前仅在 OpenLDAP 中受支持,Windows 不支持。

文档与源码

来源构建
版本
18.6
构建
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

版本比较

PostgreSQL 17 → 18: 无变化。

比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。

相关条目

导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。