“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。
  • 权限修改不会影响已创建的连接,可能需要重新登录。
相关推荐
一 乐8 分钟前
酒店预约|基于springboot + vue酒店预约系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
NineData22 分钟前
NineData第三届数据库编程大赛:用一条SQL解数独问题
数据库·云计算·ai编程
来自于狂人1 小时前
华为云Stack服务实例创建失败通用排查对照表(备考+生产故障定位必备)
服务器·数据库·华为云
墨者阳1 小时前
数据库的自我修炼
数据库·sql·缓存·性能优化
qualifying1 小时前
MySQL——表的操作
数据库·mysql
Data_agent1 小时前
京东图片搜索商品API,json数据返回
数据库·python·json
CC大煊2 小时前
【java】Druid数据库连接池完整配置指南:从入门到生产环境优化
java·数据库·springboot
学Linux的语莫2 小时前
mysql主从同步(复制)搭建
数据库·mysql
SelectDB2 小时前
慢 SQL 诊断准确率 99.99%,天翼云基于 Apache Doris MCP 的 AI 智能运维实践
数据库·人工智能·apache
JIngJaneIL2 小时前
基于java+ vue交友系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·交友