首页 > 代码库 > Greenplum身份验证方式- trust+reject
Greenplum身份验证方式- trust+reject
Greenplum身份验证和Postgresql是一样的。参考文档是gpdb 管理指南和postgresql 官网文档。
主要的配置文件是master_directory下的pg_hba.conf和postgres.conf
对配置在pg_hba.conf中的(IP、用户名、数据库名)组合无条件trust或reject。
测试代码:
创建数据库连接
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://10.110.18.241/testdb";
Connection conn = DriverManager.getConnection(url, "user1", null);
注意这里不需要配置密码
测试步骤:
1. 服务端未做任何配置,客户端连接测试trust
连接数据库失败:FATAL: no pg_hba.conf entry for host "10.47.0.153", user "user1", database "testdb", SSL off
2. 服务端增加配置,客户端连接测试trust
配置内容:
host testdb user1 10.47.0.153/32 trust
测试连接数据库成功
3. 修改服务端配置,客户端连接测试trust
配置修改为(all表示所有的库或所有的用户):
host template1 user1 10.47.0.153/32 trust
或
host testdb gpadmin 10.47.0.153/32 trust
连接数据库失败:FATAL: no pg_hba.conf entry for host "10.47.0.153", user "user1", database "testdb", SSL off
4. 修改服务端配置,客户端连接测试reject
配置修改为:
host all user1 10.47.0.153/32 trust
host testdb user1 10.47.0.153/32 reject
测试结果:
连接成功。配置文件解析应该是按文本顺序从上到下依次解析判断的。
调换一下顺序 reject在前面
客户端连接(user1 testdb)失败;
客户端连接(user1 template1) 成功
Greenplum身份验证方式- trust+reject