pgbouncer不是以ldap开头

时间:2019-09-09 07:26:43

标签: postgresql pgbouncer

我正在尝试使用ldap设置pgbouncer以与rds postgres连接。下载了最新版本的pbbouncer(1.11),并使用了hba auth_type。启动pgbouncer守护程序时出现以下错误。我缺少什么吗?

[centos@ip-x.x.x.x etc]$ pgbouncer -V
PgBouncer version 1.11.0
[centos@ip-x.x.x.x etc]$ cat pg_hba.conf 
host all user1 0.0.0.0/0 md5
host all all     0.0.0.0/0 ldap ldapserver=ldap-server.com ldapprefix="cn=" ldapsuffix=", dc=group, dc=com"

[centos@ip-x.x.x.x etc]$ cat pgbouncer.ini | grep -v '^$' | grep -v '^;' 
[databases]
db1 = host=xxx.rds.amazonaws.com port=5439 dbname=db1
[users]
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 5439
auth_type = hba
auth_file = /home/centos/pgbouncer-1.11.0/etc/userlist.txt
auth_hba_file = /home/centos/pgbouncer-1.11.0/etc/pg_hba.conf

[centos@ip-x.x.x.x etc]$  pgbouncer -d pgbouncer.ini
2019-09-09 06:57:54.447 UTC [9465] WARNING hba line 2: unsupported method: buf=ldap
2019-09-09 06:57:54.448 UTC [9465] WARNING could not parse hba config line 2

1 个答案:

答案 0 :(得分:0)

PgBouncer documentation说:

  

Auth-method字段:仅支持PgBouncer的auth_type支持的方法,除了anypam,它们仅在全局范围内起作用。不支持用户名映射(map=)参数。

documentation of auth_type说:

  

auth_type

     

如何验证用户身份。

     

PAM:
     PAM用于验证用户,auth_file被忽略。此方法与使用auth_user选项的数据库不兼容。报告给PAM的服务名称是“ pgbouncer”。另外,HBA配置文件仍不支持pam

     

HBA:
     实际的身份验证类型是从auth_hba_file加载的。这允许不同的身份验证方法使用不同的访问路径。示例:通过Unix套接字的连接使用peer auth方法,通过TCP的连接必须使用TLS。从1.7版开始受支持。

     

证书:
     客户端必须通过具有有效客户端证书的TLS连接进行连接。然后从证书的CommonName字段中获取用户名。

     

md5:
     使用基于MD5的密码检查。这是默认的身份验证方法。 auth_file可能同时包含MD5加密或纯文本密码。如果配置了md5,并且用户具有SCRAM机密,则会自动使用SCRAM身份验证。

     

scram-sha-256:
     对SCRAM-SHA-256使用密码检查。 auth_file必须包含SCRAM机密或纯文本密码。请注意,SCRAM机密只能用于验证客户端的密码,而不能用于登录服务器。为了能够在服务器连接上使用SCRAM,请使用纯文本密码。

     

普通:
     明文密码通过网络发送。不推荐使用。

     

信任:
     未完成身份验证。用户名仍必须存在于auth_file中。

     

任何
     与trust方法类似,但是给定的用户名将被忽略。要求所有数据库都配置为以特定用户身份登录。此外,控制台数据库允许任何用户以管理员身份登录。

因此不支持ldap身份验证方法,这说明了您的错误。

您可以尝试使用pampam_ldap插件。