“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。
  • 权限修改不会影响已创建的连接,可能需要重新登录。
相关推荐
tsyjjOvO3 分钟前
JDBC(Java Database Connectivity)
java·数据库
陌上丨4 分钟前
如何保证Redis缓存和数据库数据的一致性?
数据库·redis·缓存
l1t17 分钟前
一个用postgresql的自定义函数求解数独的程序
数据库·postgresql·数独
IvorySQL37 分钟前
改变工作方式的 PostgreSQL 实用模式
数据库·postgresql
Anarkh_Lee42 分钟前
在VSCode中使用MCP实现智能问数
数据库·ide·vscode·ai·编辑器·ai编程·数据库开发
晓13131 小时前
第八章:Redis底层原理深度详细解析
数据库·redis·缓存
电商API&Tina1 小时前
电商数据采集 API 接口 全维度解析(技术 + 商业 + 合规)
java·大数据·开发语言·数据库·人工智能·json
liwulin05061 小时前
【JSON】使用com.fasterxml.jackson解析json字符串
java·数据库·json
志凌海纳SmartX2 小时前
金融行业IT基础设施转型实践|450+机构部署轻量云,支持核心生产与信创业务
大数据·数据库·金融
VIP_CQCRE2 小时前
hCaptcha 验证码图像识别 API 对接教程
数据库