KingbaseES 客户端认证方式
1. 什么是数据库客户端认证
客户端认证是数据库服务器建立客户端身份的过程,服务器将确定是否允许客户端应用程序(或运行客户端应用程序的用户)与所请求的数据库用户名连接。
2. KingbaseES 的客户端认证
客户端认证由配置文件 sys_hba.conf 所控制,规定允许哪些访问数据库服务器的机器的 IP,该配置文件位于数据库数据目录中。
sys_hba.conf 文件的常用格式是一组记录,每行一条。空白行将被忽略, #注释字符后面的任何文本也被忽略,记录不能跨行。
每条记录声明一种连接类型、一个客户端 IP 地址范围(如果和连接类型相关)、一个数据库名、一个用户名、以及对匹配这些参数的连接所使用的的认证方法。
每条记录可以是下面七种格式:
local database user auth-method [auth-options]
host database user ip/masklen auth-method [auth-options]
hostssl database user ip/masklen auth-method [auth-options]
hostnossl database user ip/masklen auth-method [auth-options]
host database user IP-address IP-mask auth-method [auth-options]
hostssl database user IP-address IP-mask auth-method [auth-options]
hostnossl database user IP-address IP-mask auth-method [auth-options]
- 第一个字段只能是下面的取值
local
这条记录匹配企图使用 Unix 域套接字的连接。如果没有这种类型的记录,就不允许 Unix 域套 接字连接。
host
这条记录匹配企图使用 TCP/IP 建立的连接。host 记录匹配 SSL 和非 SSL 的连接尝试。
hostssl
这条记录匹配企图使用 TCP/IP 建立的连接,但必须是使用 SSL 加密的连接。
hostnossl
这条记录的行为与 hostssl 相反;它只匹配那些在 TCP/IP 上不使用 SSL 的连接企图。
- 第二个字段用于设置一个数据库名称
如果设置为 all,表示可以匹配任何数据库;
如果设置为 replication,表示允许流复制连接,而不是允许连接到一个名为 “replication” 的数据库上。
- 第三个字段用于设置一个用户的名称
如果设置为 all,表示可以匹配任何用户。
- 地址列表
ip/masklen:IP 地址 / 子网掩码
IP-address IP-mask:IP 地址 子网掩码
表示允许哪些 IP 地址可以访问数据库服务器,如 192.168.1.10/32 表示只允许 192.168.1.10 这台主机访问数据库(因为掩码为 32,完全匹配这个 IP),192.168.1.0/24 表示 IP 地址前缀为 192.168.1.X 的主机都允许访问数据库服务器。
- 认证方法
auth-method:表示验证方法。
KingbaseES 提供多种不同的客户端认证方式。如下表所示:
表 1 认证方式
认证方式 | 说明 |
trust | 无条件地允许连接 |
reject | 无条件地拒绝连接 |
scram-sha-256 | 执行 SCRAM-SHA-256 认证以验证用户的密码 |
md5 | 执行 SCRAM-SHA-256 或 MD5 认证以验证用户的密码 |
password | 要求客户端提供一个未加密的口令进行认证。 |
gss | 用 GSSAPI 认证用户。只对 TCP/IP 连接可用。 |
sspi | 用 SSPI 来认证用户。只在 Windows 上可用。 |
ident | 允许客户端上的特定操作系统用户连接到数据库。Ident 认证只能在 TCIP/IP 连接上使用。 |
peer | 从操作系统获得客户端的操作系统用户,并且检查它是否匹配被请求的数据库用户名。这只对本地连接可用。 |
ldap | 使用 LDAP 服务器认证 |
radius | 用 RADIUS 服务器认证 |
cert | 使用 SSL 客户端证书认证 |
pam | 使用操作系统提供的可插入认证模块服务(PAM)认证 |
bsd | 使用由操作系统提供的 BSD 认证服务进行认证 |
3. 查看当前认证方式
查看当前密码加密方式:
TEST=# show password_encryption;
password_encryption
---------------------
md5
(1 row)4. 更改认证方式
如需更改配置认证方式为 sha-256,直接在 kingbase.conf 配置文件中修改认证方式为 sha-256:
password_encryption = sha-256修改完成后需重启数据库,数据库客户端认证方式即变更为 sha-256。




