三、openldap整合greenplum

本文详细介绍了如何配置Greenplum与OpenLDAP的集成,包括用户和权限管理,以及两种不同的配置方式。通过整合,可以实现更安全的用户认证和权限控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置greenplum用户

编辑greenplum用户配置文件,导入到openldap中:

#添加greenplum分支,用于存放greenplum相关用户和组信息
dn: ou=greenplum,dc=bigdata,dc=ly
ou: greenplum
objectClass: top
objectClass: organizationalUnit
​
#添加greenplum用户分组
dn: cn=People,ou=greenplum,dc=bigdata,dc=ly
cn: People
objectClass: organizationalRole
​
#添加greenplum用户信息
#admin账户
dn: uid=admin,cn=People,ou=greenplum,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: admin
sn: admin
cn: admin
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B
​
#train账户
dn: uid=train,cn=People,ou=greenplum,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: train
sn: train
cn: train
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B
​
#添加system分组,用户存储系统用户,提供外界访问的openldap用户
dn: cn=System,ou=greenplum,dc=bigdata,dc=ly
cn: System
objectClass: organizationalRole
​
#添加gp分组的只读权限
dn: uid=gp_read,cn=System,ou=greenplum,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: gp_read
sn: gp_read
cn: gp_read
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B
​
#添加gp分组的读写权限
dn: uid=gp_write,cn=System,ou=greenplum,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: gp_write
sn: gp_write
cn: gp_write
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B

执行如下命令,将gp的账户信息导入到openldap中:

ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -w 1234 -f gp_user.ldif -H ldap://10.100.203.117:18888

配置ou=greenplum,dc=bigdata,dc=ly条目数据的访问权限,编辑文件kylin_acl.ldif文件,添加内容如下,设置用户uid=gp_read,cn=System,ou=kylin,dc=bigdata,dc=ly对ou=greenplum,dc=bigdata,dc=ly只用只读权限,uid=gp_write,cn=System,ou=kylin,dc=bigdata,dc=ly有读写权限。

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.subtree="ou=greenplum,dc=bigdata,dc=ly"
    by dn.base="uid=gp_read,cn=System,ou=greenplum,dc=bigdata,dc=ly" read
    by dn.base="uid=gp_write,cn=System,ou=greenplum,dc=bigdata,dc=ly" write
    by * auth

执行如下命令,将配置导入到配置文件中去:

ldapmodify -x -D "cn=config" -w 1234 -f gp_acl.ldif -H ldap://10.100.203.117:18888

二、配置整合greenplum

配置greenplum整合openldap有两种方式,一种方式将登录的用户名作为dn的一部分,另外一种是用户名不在dn中,这样更加灵活,如下便是两种配置方式。推荐使用方式二进行配置greenplum整合openldap。

  • 方式一:在master的postgresql上修改配置/data/greenplum/master/gpseg-1/pg_hba.conf,添加如下内容:
host     all all  0.0.0.0/0 ldap ldapserver=10.100.203.117 ldapport=18888  ldapprefix="uid=" ldapsuffix=",cn=People,ou=greenplum,dc=bigdata,dc=ly"
  • 方式二:在master的postgresql上修改配置/data/greenplum/master/gpseg-1/pg_hba.conf,添加如下内容:
host     all all  0.0.0.0/0 ldap ldapserver=10.100.203.117 ldapport=18888  ldapbasedn="cn=People,ou=greenplum,dc=bigdata,dc=ly" ldapbinddn="uid=gp_read,cn=System,ou=greenplum,dc=bigdata,dc=ly" ldapbindpasswd="1234" ldapsearchattribute="uid"

不管采用方式一还是方式二配置greenplum整合openldap,均需要重新加载配置:

pg_ctl reload -D /data/greenplum/master/gpseg-1/

当openldap用户连接greenplum时,需要事先在greenplum创建相应的用户,否则无法连接到greenplum。

psql
#创建用户角色,并赋给登入权限
create role admin with login
#为该角色赋表的权限
grant all on table foo to admin
#退出greenplum
\q
#登入greenplum
psql -d gptest -h 10.100.203.140 -p 5432 -U admin -W
#查询所有的表
\dt
#执行查询操作
select * from foo limit 10;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值