KingbaseES V8配置免密登录

前言

在Kingbase数据库运行维护中,经常用到ksql工具登录数据库,本地免密登录可以让我们维护数据库时,摆脱每次登库输入用户名密码;本文简述KingbaseES V8数据库2种配置免密登录的方法。

KingbaseES免密登录配置方法一:修改sys_hba.conf

sys_hba简介:
1、sys_hba.conf是Kingbase数据库控制客户端认证的主要配置文件,位于主数据目录data中;
2、修改该配置文件的参数,须重启 KES 服务
3、该配置文件是普通文本文件,可以用vi等文本编辑器修改
4、空白行将被忽略;以#开头行的是注释行
5、以行为单位,每行代表一条访问规则,不允许/不支持跨行的记录存在
6、一行记录包含以下字段:连接类型 库名 用户名 客户端 IP 或 IP 段 认证方式
7、各字段之间用空格分隔

配置文件sys_hba.conf内容示例:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                    trust 
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
host    all             all             ::0/0                   md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     SYSTEM                                md5
#host    replication     SYSTEM        127.0.0.1/32            md5
#host    replication     SYSTEM        ::1/128                 md5

TYPE 表示主机类型,值可能为:
1、 local 表示 unix-domain 的 socket 连接
2、 host表示 TCP/IP socket (SSL 和非 SSL)
3、 hostssl表示 SSL 加密的 TCP/IP socket
4、 Hostnossl 表示不使用 SSL 的连接

DATABASE 表示数据库名称,值可能为
1、all ,匹配所有数据库(不匹配 replication)
2、sameuser,与用户同名的库
3、replication,允许流复制连接
4、 数据库名称
5、多个数据库名称用 逗号分隔
6、@前缀可声明一个包含数据库名的文件清单
USER 表示用户名称,值可以为
1、all表示可以匹配任何用户。
2、一个用户名
3、多个用户时,可以用 逗号隔开
4、+前缀可声明一个组
5、@前缀可声明一个包含用户名的文件清单
ADDRESS 该参数可以是
1、主机名称 (以 .开头,)
2、IP/MASKbit 如 192.168.1.100/32 表示一个 IP
如 192.168.1.0/24 表示一个网段
3、samenet 匹配同网段任意 IP 地址

METHOD 一般常用 5 种
1、trust 无条件地允许连接
2、reject 无条件地拒绝连接
3、md5 执行MD5 加密密码验证
4、SCRAM-SHA-256加密密码认证
5、password 未加密的口令进行认证
6、ident 允许客户端上的特定操作系统用户连接到数据库

本地免密配置方法:修改sys_hba.conf中的local行为:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                    trust

修改完后重启数据库

免密登录方法二:配置密码文件

密码文件免密的原理:ksql登录时,会去数据库安装用户家目录下的密码文件.encpwd中读取账户,从而登入数据库;密码文件为普通文本文件,可以vi创建,也可以使用kingbase提供的工具sys_encpwd工具来生成密码文件。
sys_pwd配置工具使用方法:
该工具包含5个参数,5个参数均需要输入才能配置成功

参数说明:

-H, --hostname=主机地址,允许单主机地址匹配和全匹配,全匹配时使用*指定

-P, --portnum=端口号,仅允许单端口匹配

-D, --database=数据库名,允许单数据库匹配和全匹配,全匹配时使用*指定

-U, --user=用户名,仅允许单用户匹配

-W, --password=用户对应的密码,仅允许单用户匹配

note:
当前四个参数输入与原文件中的某一条记录完全相同时,会修改该条记录相应的密码,否则生成一条新的记录。

示例:
1、创建用户u1并指定密码,用ksql测试登录需要输入密码

test=# create user u1 with password '123456';
CREATE ROLE
test=#  \q
kingbase@ubuntu:~$ ksql -Uu1 test
Password for user u1: 
ksql (V008R003C002B0340)
Type "help" for help.

test=> 

2、使用sys_encpwd工具配置密码,指定u1用户可以从任意主机、任意端口,登录任意数据库

kingbase@ubuntu:~$ sys_encpwd -H \* -P \* -D \* -U u1 -W 123456
kingbase@ubuntu:~$ cat .encpwd 
*:*:*:u1:MTIzNDU2
kingbase@ubuntu:~$

note: -H 指定任意主机,-P指定任意端口,-D指定任意库*,“*”为特殊字符,需要加\转义**
3、测试u1免密登录

kingbase@ubuntu:~$ ksql -Uu1 test
ksql (V008R003C002B0340)
Type "help" for help.

test=>

免密登录配置成功

.encpwd内容解析:

每一行代表一条访问规则记录,可以配置多条记录;每条记录包含5个字段,字段与字段之间用冒号“:”分隔,5个字段分别为:主机地址、端口号、库名、用户名、密码(加密格式);例:

127.0.0.1:54321:test:u1:MTIzNDU2

参考资料:
https://help.kingbase.com.cn/stage-api/profile/document/kes/v8r3/html/safety/safety-guide/safety-audit.html?highlight=encpwd

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KingbaseES V8是一种基于开源PostgreSQL数据库的企业级数据库管理系统。它被开发为一个高度可扩展和安全的解决方案,适用于各种规模的企业数据处理需求。 KingbaseES V8数据库技术白皮书详细介绍了该数据库系统的特点和优势。下面是一些关键内容: 1. 安全性:KingbaseES V8采用了严格的安全机制来保护数据的机密性和完整性。它支持数据加密、访问控制和安全审计等功能,确保敏感数据不会被未经授权的人员访问。 2. 高可靠性:KingbaseES V8通过提供数据库事务和持久性来确保数据的可靠性。它支持ACID(原子性、一致性、隔离性和持久性)属性,使得数据库在发生故障或中断时能够进行恢复并保持数据的一致性。 3. 高扩展性:KingbaseES V8支持水平和垂直扩展,可以根据业务需求进行灵活的扩展。它能够处理大规模的数据存储和查询,并提供了分布式数据库和集群部署选项。 4. 大数据处理:KingbaseES V8具备处理大数据的能力,通过支持多种数据压缩和索引技术来提高数据存储和查询的效率。同时,它还提供了强大的数据备份和恢复机制,确保在数据发生意外故障时能够及时进行数据恢复。 5. 兼容性:KingbaseES V8与主流数据库标准兼容,可以实现与Oracle、SQL Server等数据库的互通和迁移。这样一来,企业在将原有数据库迁移到KingbaseES V8上时,可以事半功倍地减少迁移成本和风险。 总的来说,KingbaseES V8数据库技术白皮书详细介绍了其作为一种可靠、高效和安全的企业级数据库管理系统的优势和功能。这些特点使得KingbaseES V8成为适用于各种企业规模和数据处理需求的理想选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值