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

华为GaussDB T 配置用户白名单

墨天轮 2019-09-28
3566

配置用户白名单

操作步骤

  • omm用户身份登录待配置接入认证的GaussDB 100服务器。

    • 在单机/主备部署模式下,DN直接对外提供服务,用户需要对所有DN配置客户端接入认证。
    • 在分布式部署模式下,多组DN通过CN共同对外提供服务,只允许通过配置了接入认证的CN远程访问数据库。用户可以根据实际需要确定允许远程访问的CN个数以及每个CN上允许或禁止的远程访问的用户和IP。

  • 在zhba.conf文件中添加hba条目。

    zhba.conf文件的存储路径为DataDir/cfg/zhba.conf,其中DataDir目录是集群CN和DN的home目录,可通过gs_om -t status命令查询。各hba条目间无关联关系,声明顺序不影响功能。

    • 进入zhba.conf文件。
      以DataDir目录为/home/gaussdb/data/data_cn1为例。
      cd /home/gaussdb/data/data_cn1/cfg vi zhba.conf
    • 按i编辑文件。
    • 添加用户白名单信息。添加后,按Esc键并输入:wq保存退出。

      格式为type #user address。

      host * 127.0.0.1,::1 host user2 192.168.3.222,192.168.3.225,192.168.8.0/24 host * 20AB::9217:acff:feab:fcd0/64
      • address列表声明允许连接的指定用户的IP地址范围,可以逗号分隔声明多个。各hba条目间无关联关系,声明顺序不影响功能。
      • 如果user中包含特殊字符(例如#、TAB键等特殊字符)需要写成“user”格式。例如:host "#abc" 127.0.0.1、host "abc" 127.0.0.1 表示将双引号中的字符串整体作为user。
      • 如果user是“*”或者* 表示所有用户。
      • IP地址支持IPV4、IPV6地址、或指定子网掩码长度表示一个子网网段。如下均为合法格式:
        • 192.168.3.222 表示一个IPV4主机。
        • 192.168.3.0/24 表示一个IPV4子网网段192.168.3.0所有IP。
        • 20AB::9217:acff:feab:fcd0 表示一个IPV6主机。
        • 20AB::9217:acff:feab:fcd0/64 表示前缀为64的IPV6网段。
      • 编辑zhba.conf文件时,空格不能使用Tab键输入,否则,在线加载用户白名单时会报错“GS-00220, hba line(20) format is not correct”。
    说明:
    集群安装成功后,zhba.conf文件中默认有如下配置,其中127.0.0.1为IPV4的回环地址,::1为IPV6的回环地址,ip1和ip2是集群所有服务器的IP地址。
    host * 127.0.0.1,::1 host * ip1 host * ip2

    数据库安装时,在zhba.conf添加默认记录 host * 127.0.0.1,::1,只允许本地登入。zhba.conf内容为空,表示任意IP可以访问数据库。

    配置用户白名单时,请不要删除上面的host * 127.0.0.1,::1配置,否则在线加载用户白名单后会导致:

    • SYS用户无法使用“zsql / as clsmgr -D cn_data_dir”本地登录CN。
    • 所配置实例的状态为UNSTABLE,并且未配置回环地址的用户将无法使用回环地址本地登录数据库集群,报错如下:
      [omm@plat cfg]\>zsql omm@127.0.0.1:8000 Please enter password: *********** GS-00331, whitelist rejects connection for user "OMM", ip "127.0.0.1", current date "2019-03-15 16:13:46.888", please check zhba.conf or tcp valid node configuration SQL>

    用户误删后,将host * 127.0.0.1,::1配置到zhba.conf文件中并重新在线加载zhba.conf文件后,即可恢复正常。

  • 使用zsql连接数据库。

    • 单机/主备部署时,通过DN端口连接数据库。

      假设所使用的DN端口号是40000。

      zsql omm@127.0.0.1:40000 Please enter password: ***********

      omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

    • 分布式部署时,通过CN端口连接数据库。

      假设所使用的CN端口号是8000。

      zsql omm@127.0.0.1:8000 Please enter password: ***********

      omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

  • 数据库实例运行时,在线加载用户IP白名单,立即生效。

    ALTER SYSTEM RELOAD HBA CONFIG;

  • 通过查询视图DV_HBA确认用户IP白名单是否配置成功。

    SELECT * FROM SYS.DV_HBA;

示例

在Online状态下开启IP白名单检测功能。
[omm@plat1 ~]\>gs_gucZenith -c "TCP_VALID_NODE_CHECKING=true" Get cluster status. Start getting healthy zenith instances... Successfully got healthy zenith instances. Start verifying the specifications of the kernel parameter value... Successfully verified the specifications of the kernel parameter value. Start setting kernel parameter... Set kernel parameter successfully! Instance: DB1_1 Set kernel parameter successfully! Instance: DB1_2 Set kernel parameter successfully! Instance: DB2_4 Set kernel parameter successfully! Instance: DB2_3 Set kernel parameter successfully! Instance: cn_401 Set kernel parameter successfully! Instance: cn_402 Successfully set kernel parameter.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论