PostgreSQL 使用 LDAP 认证方式

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

LDAP服务器的安装,参考此处:

http://www-06.ibm.com/jp/linux/tech/doc/attachments/openldap_install_v1.3.pdf#search='OpenLDAP'

 

而PostgreSQL中与LDAP相关的设置,可以参考:

https://secure.sqlmanager.net/en/articles/postgresql/654

 

在LDAP服务器端,建立一个用户user4,具体细节参考上述URL中的新用户登录一节,

建立用户user4时,使用的文件:

复制代码
dn: uid=user4,ou=People,o=System Support,dc=my-domain,dc=com
uid: user4
cn: user4
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:
loginShell: /bin/bash
uidNumber: 503
gidNumber: 500
homeDirectory: /home/user4
复制代码

还得使用slappasswd命令,个user4用户设置口令,然后把得到的加密口令拷贝到userPassword处。

然后使用ldapadd命令:

ldapadd -x -f useradd-list.ldif -D "cn=Manager,dc=my-domain,dc=com" -W 

然后再查询看看:

复制代码
[root@srv openldap]#  ldapsearch -x -b "ou=People,o=System Support,dc=my-domain,dc=com"
# extended LDIF
#
# LDAPv3
# base <ou=People,o=System Support,dc=my-domain,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# People, System Support, my-domain.com
dn: ou=People,o=System Support,dc=my-domain,dc=com
objectClass: organizationalUnit
ou: People

# user4, People, System Support, my-domain.com
dn: uid=user4,ou=People,o=System Support,dc=my-domain,dc=com
uid: user4
cn: user4
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
loginShell: /bin/bash
uidNumber: 503
gidNumber: 500
homeDirectory: /home/user4
userPassword:: e2NyeXB0fSQxJC9kbjVRL2dPJHNkamdMZm1iRngxRnVFSXczNk9xeTE=
shadowLastChange: 15971

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2
[root@srv openldap]# 
复制代码

 

LDAP服务器端准备完毕后,在postgresql中,还要建立同名的用户user4:

postgres>create user user4 password '!qaz2wsx';

至于口令是否和前述的相同并不重要。

 

为了登录后有数据库供user4使用,还需要创建数据库:

postgres>create database user4 owner user4;

 

然后,在postgresql所在机器上,进行ldap相关设置:

为了更加简化此问题,暂时不采用pam相关的认证方式,而是只采用单纯的LDAP方式。

根据刚才的LDAP服务器上的查询,给postgresql中的pg_hba.conf文件进行配置:

复制代码
-bash-3.2$ pwd
/opt/PostgreSQL/9.2
-bash-3.2$ cat ./data/pg_hba.conf
# PostgreSQL Client Authentication Configuration File
...


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             user4                         ldap ldapserver=16.157.247.8 ldapprefix="uid=" ldapsuffix=",ou=People,o=System Support,dc=my-domain,dc=com"
#local   all             all                                     md5
# IPv4 local connections:
#host    all             user4                                   pam postgresql
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                md5
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
-bash-3.2$ 
复制代码

然后,验证登录过程:

复制代码
-bash-3.2$ ./bin/psql -Uuser4
Password for user user4: 
psql.bin (9.2.4)
Type "help" for help.

No entry for terminal type "xterm";
using dumb terminal settings.
user4=> 
复制代码

此时LDAP服务器的log中有如下信息:

复制代码
Sep 24 13:19:54 srv slapd[2311]: conn=9 fd=12 ACCEPT from IP=16.157.245.74:44853 (IP=0.0.0.0:389) 
Sep 24 13:19:54 srv slapd[2311]: conn=9 op=0 BIND dn="uid=user4,ou=People,o=System Support,dc=my-domain,dc=com" method=128 
Sep 24 13:19:54 srv slapd[2311]: conn=9 op=0 BIND dn="uid=user4,ou=People,o=System Support,dc=my-domain,dc=com" mech=SIMPLE ssf=0 
Sep 24 13:19:54 srv slapd[2311]: conn=9 op=0 RESULT tag=97 err=0 text= 
Sep 24 13:19:54 srv slapd[2311]: conn=9 op=1 UNBIND 
Sep 24 13:19:54 srv slapd[2311]: conn=9 fd=12 closed 
复制代码

登录成功





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/3336657.html,如需转载请自行联系原作者

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
26天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
3月前
|
关系型数据库 网络安全 数据安全/隐私保护
你会开启Postgresql 的SSL单向认证 配置?
你会开启Postgresql 的SSL单向认证 配置?
你会开启Postgresql 的SSL单向认证 配置?
|
4月前
|
关系型数据库
电子好书发您分享《阿里云认证的解析与实战-关系型数据库ACP认证》
电子好书发您分享《阿里云认证的解析与实战-关系型数据库ACP认证》
44 1
|
6月前
|
Kubernetes 关系型数据库 分布式数据库
kubeblocks完成阿里云PolarDB数据库产品生态集成认证
近日,杭州云猿生数据有限公司(以下简称云猿生)与阿里云PolarDB 开源数据库社区展开产品集成认证。测试结果表明,杭州云猿生数据有限公司旗下kubeblocks(V0.7.0)与阿里云以下产品:开源云原生数据库PolarDB 分布式版( V2.0 ),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
9月前
|
安全 关系型数据库 测试技术
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?
136 0
|
9月前
|
存储 Cloud Native 关系型数据库
白鲸开源完成阿里云PolarDB数据库产品生态集成认证
近日,北京白鲸开源科技有限公司旗下产品与阿里云PolarDB 开源数据库社区展开产品集成认证。测试结果表明,白鲸开源旗下的WhaleScheduler (V2.0.0)与阿里云的开源云原生数据库 PloarDB分布式版(V2.2)以及开源云原生数据库PolarDB PostgreSQL(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
9月前
|
存储 Cloud Native 关系型数据库
星辰天合公司产品完成阿里云PolarDB数据库产品生态集成认证
近日,XSKY星辰天合旗下产品与阿里云PolarDB 开源数据库社区展开产品集成认证。测试结果表明,星辰天合旗下的融合计算管理平台XHERE(V2)、统一数据平台XEDP(V6)、天合翔宇分布式存储系统(V6)与阿里云的开源云原生数据库 PloarDB分布式版(V2.2)以及开源云原生数据库PolarDB PostgreSQL(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
10月前
|
SQL 运维 Oracle
MySQL 8.0 OCP 1Z0-908认证考试题库(7-20)
Examine the command, which execute successfully
633 0
|
10月前
|
运维 Oracle JavaScript
Oracle OCP和MySQL OCP认证考试内容有哪些?
Oracle和MySQL数据库是世界上最流行的两种数据库,根据数据库权威网站db-engines的排名,这两种数据库是唯一超过1000分的两种数据库。
482 0
|
10月前
|
SQL 运维 Oracle
MySQL 8.0 OCP 1Z0-908认证考试题库1
Q1.Examine this command, which executes successfully:
251 0