认证培训专区
学习笔记
文章

GDCP认证学习笔记(四)GBase8a客户端、安全管理、多实例部署

发表于2026-02-09 16:00:1662次浏览4个评论

1、客户端工具

分为两个,命令行客户端和图形化客户端。

1.1.命令行客户端:gccli

图片

这里吐槽一下gccli的帮助信息,--help返回结果,不能说没有吧,反正提供不了什么帮助,所以上面这个图就比较关键了,当然如果你对mysql十分了解,那么gbase8a命令行工具和mysql兼容性还是不错的。我就不对比mysql和pg(psql)了,就算对比gbase8a自己的管理工具gcadmin,gccli --help的输出也不及格。妄自猜测一下是不是大家都是用图形化工具,所以命令行工具就有些偷工减料了。

图片

1.2.图形化客户端:GBaseDataStudio

有Windows和Linux平台,都是绿色软件,解压即用,现在UI基本都标准化了,熟悉其他任何数据库开发的同学都可以快速上手,官网提供工具的下载。

2、安全管理

包括用户登录认证、密码管理、ssl认证、数据脱敏、数据加密、数据服务器加密管理等内容

2.1.用户登录认证

默认sha1算法加密,952.44增加参数gbase_caching_sha2_password,值为1时,使用sha256算法加密相关系统表gbase.user、gbase.user_check

  • gbase.user记录全局的用户表信息,包含一些授权、优先级、资源限制等信息

  • gbase.user_check 系统表中可以查询到用户安全信息,如是否锁定、密码是否过期、最近密码修改时间、密码有效期等

数据库创建完毕后包括两个用户,root和gbase,这里要严格区分数据库用户和操作系统用户,以防止安装和使用过程中的困惑。

2.2.密码管理

  • 密码强度管理:

    • password_format_option 密码字符组合要求:数字、小写字符、大写字符、特殊字符。取值0-4,建议3 

  • password_not_same_reverse_username 密码是否可以与用户名相同或者逆序,建议1 

  • password_max_contain_continuous_char 密码中允许同一类型字符的连续的最大数量,建议4 

  • password_min_length 密码的最短长度,建议8
     

  • 密码重用管理:限制间隔大于指定时间的历史密码,才可以重复使用
     

    • password_reuse_max 限制用户使用指定间隔次数内的历史密码,只可使用大于指定值的
       

  • password_reuse_time 限制用户使用指定天数内的历史密码,只可使用大于指定值的 

  • 历史密码可在系统表中查看:gbase.password_history
     

  • 密码有效期管理
     

    • password_life_time 指定密码过期天数,也可使用sql语句指定 create/alter user u expiration_option用户登录身份认证
       

  • 登录重试锁定:指定用户登录失败次数,超过的用户账户,可由参数指定账户锁定时长,以及多次锁定时,锁定时长随着锁定次数延长 

    • login_attempt__max 用户连续登录失败次数达到指定max值,用户账户永久锁定,需管理员手动解锁
       

  • login_attempt_times 用户连续登录失败次数达到指定times值,用户账户锁定一段时间,时间长短由参数控制

  • 账户锁定和解锁
     

    • sql语句:create/alter user u account lock/account unlock;
       

  • 账户限定登录host列表
     

    • sql语句:create/alter user u hosts ‘ip1 ip2 ip3 ......’;
       


2.3.ssl认证

SSL保护数据的原理可以分为三部分
认证用户和服务器,确保数据发送到正确的客户端和服务器;
加密数据以防止数据中途被窃取;

维护数据的完整性,确保数据在传输过程 中不被改变。


2.4.数据脱敏

用户可以通过 SQL 语法的形式,给需要进行数据脱敏的字段添加脱敏属性,并通过用户权限控制,决定是否对有查询要求的用户暴露原始数据,支持默认脱敏default、随机脱敏random、自定义partial、哈希脱敏sha、指定位置脱敏keymask等。

2.5.数据加密

  • 支持表级或者列级不同粒度的加密要求;

  • 支持表加密属性的查询; 

  • 支持密钥证书管理包括密钥证书的创建、打开、关闭、口令修改、密钥转换操作; 

  • 支持密钥类型转换,即从明文密钥转换到密文密钥,或从密文密钥转换到明文密钥: 

    • 明文密钥:无需用户口令,可随机生成也可手动输入; 

  • 密文密钥:需用户输入口令,根据口令对随机生成的密钥加密存储; 

  • 支持查询当前密钥证书状态;
     

  • 支持行存列加密

2.6.数据服务器加密管理

支持Hadoop或Kafka数据源的带kerberos认证的集群;加载sftp支持SSH高强度算法:sha256、nistp256、nistp384等。

3、集群参数配置

3.1.配置文件修改起效条件:需重启被修改文件对应的模块服务。如 gcluster_services gcluster/gbase restart
有效期:永久有效

  • gcluster模块参数
     

配置文件:
$GCLUSTER_BASE/config/gbase_8a_gcluster
 

  • gnode模块参数
     

配置文件:
$GBASE_BASE/config/gbase_8a_gbase.cnf3.2.SQL语句修改

  • 修改全局
     

set global 参数名 = 参数值
起效条件:sql执行成功后,新打开的所有会话均起效,服务重启后失效
 

  • 修改会话
     

set 参数名 = 参数值;
起效条件:sql执行成功后,仅在执行sql的当前会话有效
有效期:当前会话关闭后失效

4、审计日志

审计日志用于记录用户的数据库操作,审计其行为,主要用于安全管理审计策略用来控制审计日志记录的策略,可以设置审计日志只记录某些指定的操作或者某些固定用户的 操作,具体的审计策略项目有:

创建审计策略

CREATE AUDIT POLICY <audit_policy_name> [(<audit_policy_item> = <value>[,<audit_policy_item> = <value>])];

示例:

CREATE AUDIT POLICY audit_all (enable = 'Y');
CREATE AUDIT POLICY audit_time (enable = 'Y',long_query_time=10); 

开启审计日志并设置审计日志的输出目标

set global log_output=table; 
set global audit_log=1; 

查看审计日志

select * from gbase.audit_log\G; 

审计日志系统表
gbase.audit_log和gbase.audit_policy

5、集群多实例部署

GBase 8a MPP Cluster在高配服务器(通常采用非统一内存访问架构,简称NUMA架构)上部署时,一台服务器可以部署多个数据库实例(一般推荐2个实例),用以提升服务器硬件资源利用率。

实际部署时需要格外注意实例资源的规划,部分默认参数都需要除以配置的实例数设置,同时需要考虑高可用架构设计中的冗余数据位置,避免同一份数据的备份副本放在同一台主机。

实际上,P级培训针对多实例部署并没有过多介绍,大概率要放到M级培训了。

评论

登录后才可以发表评论
G2021发表于 5个月前
学习了
用户头像
柒柒天晴发表于 5个月前
学习了
用户头像
GBase用户28017发表于 5个月前
谢谢分享。
菲菲发表于 2个月前
三人行必有我师