首页 > 数据库 > > 客户端接入认证-配置客户端接入认证
如果主机需要远程连接数据库,必须在数据库系统的配置文件中增加此主机的信息,并且进行客户端接入认证。配置文件(默认名称为pg_hba.conf)存放在数据库的数据目录里。hba(host-based authentication)表示是基于主机的认证。
例如,下面示例中配置允许IP地址为10.10.0.30的客户端访问本机。
gs_guc set -Z coordinator -N all -I all -h "host all jack 10.10.0.30/32 sha256"说明:
CREATE USER jack PASSWORD 'Gaussdba@Mpp';
这条命令在所有CN实例对应的“pg_hba.conf”文件中添加了一条规则,用于对连接CN的客户端进行鉴定。
“pg_hba.conf”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见配置文件参考。
local DATABASE USER METHOD [OPTIONS]
host DATABASE USER ADDRESS METHOD [OPTIONS]
hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
因为认证时系统是为每个连接请求顺序检查“pg_hba.conf”里的记录的,所以这些记录的顺序是非常关键的。
说明:在配置“pg_hba.conf”文件时,请依据通讯需求按照格式内容从上至下配置记录,优先级高的需求需要配置在前面。GaussDB 200集群和扩容配置的IP优先级最高,用户手动配置的IP请放在这二者之后,如果已经进行的客户配置和扩容节点的IP在同一网段,请在扩容前删除,扩容成功后再进行配置。
因此对于认证规则的配置建议如下:
说明:用户认证失败有很多原因,通过服务器返回给客户端的提示信息,可以看到用户认证失败的原因。常见的错误提示请参见表1。
问题现象 | 解决方法 |
|---|---|
用户名或密码错误: | 这条信息说明用户名或者密码错误,请检查输入是否有误。 |
连接的数据库不存在: | 这条信息说明尝试连接的数据库不存在,请检查连接的数据库名输入是否有误。 |
未找到客户端匹配记录: | 这条信息说明已经连接了服务器,但服务器拒绝了连接请求,因为没有在它的pg_hba.conf配置文件里找到匹配的记录。请联系数据库管理员在pg_hba.conf配置文件加入用户的信息。 |
TYPE DATABASE USER ADDRESS METHOD
"local" is for Unix domain socket connections only
#表示只允许以安装时-U参数指定的用户从服务器本机进行连接。
local all all trust
IPv4 local connections:
#表示允许omm用户从10.10.0.50主机上连接到任意数据库,使用sha256算法对密码进行加密。
host all omm 10.10.0.50/32 sha256
#表示允许任何用户从10.10.0.0/24网段的主机上连接到任意数据库,使用sha256算法对密码进行加密,并且经过SSL加密传输。
hostssl all all 10.10.0.0/24 sha256
#表示允许任何用户从10.10.0.0/24网段的主机上连接到任意数据库,使用Kerberos认证方式。
host all all 10.10.0.0/24 gss include_realm=1 krb_realm=HADOOP.COM来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3120519/ ,如需转载,请注明出处,否则将追究法律责任。