“G”术时刻:南大通用GBase 8c数据库权限管理场景实践(三)

南大通用 GBase 8c 数据库的权限管理机制清晰且灵活,旨在保障数据安全并支持精细化的访问控制。其核心主要包括默认权限机制、多种管理员角色、三权分立模式以及角色与用户管理。本文以特定实践场景为例,介绍GBase 8c权限管理的功能及配置方法。

4. 权限验证测试

4.1 serceruser 用户测试

  1. 切换到serceruser 用户会话,测试其权限,应支持表的创建和数据插入。对其他用户可见。

  2. 创建表 a1 并插入数据

  3. 预期结果:表成功创建并可插入,后续clientuser用户应能访问此表

    执行命令:

sql 复制代码
gsql -r -d testgrant -p 15400 -U serveruser -W "********"
set search_path = test_privileges;
-- 创建测试表
create table a1(username varchar(20));
insert into a1 values('serveruser');

4.2 clientuser 用户测试

  1. 跨用户访问表 a1
  2. 创建表 b1 并插入数据
  3. 预期结果:成功访问serveruser用户的表 a1,能新建表 b1,新建表应能被serveruser访问
sql 复制代码
gsql -r -d testgrant -p 15400 -U clientuser -W "********"
set search_path = test_privileges;
-- 跨用户访问测试
insert into a1 values('clientuser');
select * from a1;
-- 创建反向测试表
create table b1(username varchar(20));
insert into b1 values('clientuser');

4.3 双向访问验证

  1. serceruser 访问 b1
  2. 预期结果:双向插入和查询成功

5. 总结最佳实践及注意事项

在生产环境中,仍需结合最小权限原则进行合理的权限控制。建议权限管理应考虑以下几个方面:

  • 最小化授权:生产环境避免使用 ALL,根据业务需求细化到 SELECT/INSERT 等。
  • 定期权限审计:使用 \dp 检查当前权限分配情况。
  • 新用户维护:有新用户加入时需更新默认权限。
  • 模式隔离:不同业务独立使用模式,降低权限风险。
  • 密码策略:定期更换数据库用户密码。

注意事项

  • ALTER DEFAULT PRIVILEGES 只对执行命令的用户后续创建的对象生效。
  • 如果表在执行前已存在,需要额外执行 GRANT ALL ON TABLES。
  • 权限修改不会影响已创建的连接,可能需要重新登录。
相关推荐
jiayou641 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB5 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构