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

人大金仓KingbaseES 客户端认证方式

原创 lanpangzi 2023-07-14
1336

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。

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

评论