• Greenplum身份验证方式-LDAP


    本文记述Greenplum使用LDAP做身份验证的过程。

    略过搭建LDAP服务器部分

    gpdb master做设置

        Gpdb master 实际是作为ldap客户端,需要安装 # yum install -y openldap-clients

        Gpdb创建数据库用户user4,并对testdb.test1表有权限。

    在LDAP服务器上向ldap中增加账户

    创建ldif文件内容为

    dn:dc=gp1,dc=idap

    objectClass:top

    objectClass:dcObject

    objectClass:organization

    dc:gp1

    o:gp1

     

    dn:ou=users,dc=gp1,dc=idap

    objectClass:organizationalUnit

    ou:users

     

    dn:uid=user4-2,ou=users,dc=gp1,dc=idap

    objectClass:inetOrgPerson

    userid:user4

    cn:user4-2

    sn:user4-2

    userPassword:passwd4-2

     

        调用命令 # ldapadd -x -W -D "cn=ldapadm,dc=idap" -f ./b.ldif

     

    pg_hba.conf 配置文件

    在pg_hba.conf里面有两种配置方式,

    一种是将登录用户名作为dn的一部分,

    host all user4 0.0.0.0/0 ldap ldapserver=idap-66 ldapprefix="uid=" ldapsuffix=",ou=users,dc=gp1,dc=idap"

     

    另一种是用户名可以不在dn里面,这样更灵活一些(采用这种)

    host all user4 10.47.0.153/32 ldap ldapserver=idap-66 ldapbasedn="uid=user4-2,ou=users,dc=gp1,dc=idap" ldapbinddn="cn=ldapadm,dc=idap" ldapbindpasswd="WOH/BJryZ1cdeG4dRpHyc9vS5dl70DYw" ldapsearchattribute="userid"

     

    JDBC客户端代码

          Class.forName("org.postgresql.Driver");

          String url = "jdbc:postgresql://10.110.18.241/testdb";

          String pwd = "password123";

          Connection conn = DriverManager.getConnection(url, "user4", pwd);

     

    身份验证的逻辑

        客户端将user4发送到greenplum,找到对应的配置项,即 host all user4 ** 。

        发现验证方式是ldap,即通过属性ldapserver dn binddn passwd等连接ldap,查找到user4-2条目(属性userid=user4) 则成功了第一步,第二步验证密码,即将jdbc客户端的密码与user4-2.userPassword 进行比较。

      数据库用户登录的密码不再是保存在数据库了。

      数据库用户登录的密码可以在ldap 上通过命令ldappasswd修改,即修改了属性userPassword的值

     

    注意 这里密码从客户端到GPmaster是通过明文传输的。使用SSL通道更好些。

     

  • 相关阅读:
    iOS内存管理机制
    iOS开发之XML和JSON数据解析
    Ubuntu小点汇总,更新中...
    Android与服务器的简单通讯
    Gedit乱码问题
    Eclipse软件问题-方案积累
    开放接口使用积累
    定制知识积累
    Android小代码-技巧积累
    Android初学点滴积累(操作篇)
  • 原文地址:https://www.cnblogs.com/fangjx/p/6396134.html
Copyright © 2020-2023  润新知