GDCP认证学习笔记(四)GBase8a客户端、安全管理、多实例部署
这里吐槽一下gccli的帮助信息,--help返回结果,不能说没有吧,反正提供不了什么帮助,所以上面这个图就比较关键了,当然如果你对mysql十分了解,那么gbase8a命令行工具和mysql兼容性还是不错的。我就不对比mysql和pg(psql)了,就算对比gbase8a自己的管理工具gcadmin,gccli --help的输出也不及格。妄自猜测一下是不是大家都是用图形化工具,所以命令行工具就有些偷工减料了。1.2.图形化客户端:GBaseDataStudio有Windows和Linux平台,都是绿色软件,解压即用,现在UI基本都标准化了,熟悉其他任何数据库开发的同学都可以快速上手,官网提供工具的下载。包括用户登录认证、密码管理、ssl认证、数据脱敏、数据加密、数据服务器加密管理等内容默认sha1算法加密,952.44增加参数gbase_caching_sha2_password,值为1时,使用sha256算法加密相关系统表gbase.user、gbase.user_check- gbase.user记录全局的用户表信息,包含一些授权、优先级、资源限制等信息
- gbase.user_check 系统表中可以查询到用户安全信息,如是否锁定、密码是否过期、最近密码修改时间、密码有效期等
数据库创建完毕后包括两个用户,root和gbase,这里要严格区分数据库用户和操作系统用户,以防止安装和使用过程中的困惑。- 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;
- sql语句:create/alter user u hosts ‘ip1 ip2 ip3 ......’;
认证用户和服务器,确保数据发送到正确的客户端和服务器;维护数据的完整性,确保数据在传输过程 中不被改变。用户可以通过 SQL 语法的形式,给需要进行数据脱敏的字段添加脱敏属性,并通过用户权限控制,决定是否对有查询要求的用户暴露原始数据,支持默认脱敏default、随机脱敏random、自定义partial、哈希脱敏sha、指定位置脱敏keymask等。- 支持密钥证书管理包括密钥证书的创建、打开、关闭、口令修改、密钥转换操作;
- 支持密钥类型转换,即从明文密钥转换到密文密钥,或从密文密钥转换到明文密钥:
- 密文密钥:需用户输入口令,根据口令对随机生成的密钥加密存储;
支持Hadoop或Kafka数据源的带kerberos认证的集群;加载sftp支持SSH高强度算法:sha256、nistp256、nistp384等。如 gcluster_services gcluster/gbase restart$GCLUSTER_BASE/config/gbase_8a_gcluster$GBASE_BASE/config/gbase_8a_gbase.cnf起效条件:sql执行成功后,新打开的所有会话均起效,服务重启后失效起效条件:sql执行成功后,仅在执行sql的当前会话有效审计日志用于记录用户的数据库操作,审计其行为,主要用于安全管理审计策略用来控制审计日志记录的策略,可以设置审计日志只记录某些指定的操作或者某些固定用户的 操作,具体的审计策略项目有: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_policyGBase 8a MPP Cluster在高配服务器(通常采用非统一内存访问架构,简称NUMA架构)上部署时,一台服务器可以部署多个数据库实例(一般推荐2个实例),用以提升服务器硬件资源利用率。实际部署时需要格外注意实例资源的规划,部分默认参数都需要除以配置的实例数设置,同时需要考虑高可用架构设计中的冗余数据位置,避免同一份数据的备份副本放在同一台主机上。实际上,P级培训针对多实例部署并没有过多介绍,大概率要放到M级培训了。