“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。
  • 权限修改不会影响已创建的连接,可能需要重新登录。
相关推荐
学习星球7 分钟前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
GoppViper1 小时前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
2601_962174171 小时前
Redis 简介
数据库·redis·wpf
夜雪一千1 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
Highcharts.js2 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
翼龙云_cloud3 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
进阶的小木桩3 小时前
mysql 安装问题解决方案记录
数据库·mysql
2601_962071573 小时前
如何利用SpringSecurity进行认证与授权
java·服务器·数据库
山峰哥4 小时前
数据库工程与查询优化案例深度复盘‌
数据库·sql·oracle·编辑器·深度优先·宽度优先
IT大白鼠4 小时前
MSF数据库与资产管理——专业渗透测试流程
数据库·安全·msf