暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

采用 kerberos 认证方式8a连接

淮海路小佩奇 2023-09-26
47


Jdbc 从 build54.4.7 版本开始支持支持 kerberos 认证方式与集群或者 8a 单机进行连接。使用前必须确保数据库版本支持 kerberos 认证并且已经配置好 kerberos 认证相关服务。具体使用可以参考数据库手册要求。 以下操作仅在认为集群或者 8a 已经配置好 kerberos 相关服务基础上进行 的操作。 1:需要从集群获取keytab文件,拷贝到某一目录 2:需要执行kinit命令初始化票据凭证,最后一个参数为kerberos client端 principal name 1)linux: kinit -kt /opt/gcluster/ktest1.keytab ktest1@gbase.cn 2)window:kinit -k -t D:\\svn\\kerberos\\ktest1.keytab ktest1@gbase.cn 3:url进行设置 enableKerberosFlag=true :开启认证方式 clientPrincipalName=ktest1 :设置客户端principal name,注意不需要 输入@gbse.cn kerberosKeyTab="D:\\svn\\kerberos\\ktest1.keytab",设置keytab路径 4:从kerberos服务器获取krb5.conf文件(linux默认安装在/etc下面),如果 jdbc部署在linxu服务器下,直接拷贝到/etc下即可;如果部署在windows 将其修改名字为 krb5.ini 然后复制到 C:\Windows 下面,注意里面的路 径信息请修改为实际存在的路径。 5: 确保 jdbc 所在机器的时间与 kerberos 服务器时间一致 以上配置正确后可以使用如下方式进行连接

//是否输出认证过程中重要参数信息。生产环境可以不设置。

System.setProperty("sun.security.krb5.debug","true"); System.setProperty("sun.security.jgss.debug","true"); String url ="jdbc:gbase://192.168.6.122:5258/test?user=ktest&traceProtocol=false" + "&profileSql=false" + "&enableKerberosFlag=true" + "&clientPrincipalName=ktest1" +"&kerberosKeyTab=D:\\svn\\kerberos\\ktest1.keytab" ; Class.forName("com.gbase.jdbc.Driver"); Connection conn = DriverManager.getConnection(url); Statement st = conn.createStatement(); st.execute("insert into bht1 values(1,'bht')"); st.setMaxRows(2); ResultSet rs =st.executeQuery("select * from bht1"); while(rs.next()){ System.out.println(rs.getString(1)+rs.getString("b")); } conn.close(); System.out.println("fin"); 从上代码可以看到连接集群不再需要使用 password,而仅仅只需要 kerberos 服务器认证过的 user 即可。


GBase JDBC 介绍

GBase数据库通过提供JDBC驱动为使用JAVA程序语言的应用程序提供访问 GBase 数据库的接口,叫做 GBase JDBC。 GBase JDBC 是一种兼容 JDBC-3.0、4.0 "类型 4"的驱动,这意味着它是符 合JDBC 3.0、4.0版本规范的一种纯Java程序,并能使用GBase协议直接和GBase 服务器通信。 这一章并不是完整的 JDBC 指南。如果需要了解 JDBC 的更多信息,请参考 下面的在线教程,与本章提供的内容相比,它们介绍的更为详细也更具深度:

 JDBC Basics – Sun 提供的 JDBC 指南,涵盖了 JDBC 的基本主题。

 JDBC Short Course - Sun 和 JGuru 提供的更深入的指南。


GBase JDBC 版本

GBase JDBC 8.3.81.51 提供了如下新特性: 1) 自动注册驱动(需要 jdk1.6 的) 2) National Character Set Conversion Support GBase JDBC 8.3.81.53 提供了如下新特性: 1) 针对 GBase8a 集群提供高可用性(IP 自动路由)功能; GBase JDBC 8.3.81.53_build51.1 提供了如下新特性: 1) 针对 GBase8a 集群提供高可用性负载均衡功能; GBase JDBC 驱动与 Server 的对应关系如下表格所示: 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论