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

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

3. 权限配置流程

在权限配置过程中,需要用到如下语法:

3.1 模式权限配置

GBase 8c数据库中,使用GRANT ALL ON SCHEMA 语法为模式进行权限配置,授予用户对模式的完全控制权,包含创建/修改/删除对象、注释、使用等权限。

sql 复制代码
\c testgrant
create schema test_privileges;
-- 授予模式所有权
grant all on schema test_privileges to serveruser;
grant all on schema test_privileges to clientuser;

3.2 已有表权限配置

GBase 8c数据库中,使用GRANT ALL ON ALL TABLES 语法为所有表进行权限配置,仅对现有表生效, 包含SELECT/INSERT/UPDATE/DELETE/TRUNCATE等权限。

sql 复制代码
-- 授予现有表权限
grant all on all tables in schema test_privileges to serveruser;
grant all on all tables in schema test_privileges to clientuser;

3.3 默认权限配置

GBase 8c数据库中,使用ALTER DEFAULT PRIVILEGES IN SCHEMA xxx GRANT ALL ON TABLES TO xxx ;语法修改默认权限配置。

说明

  • 仅影响执行命令的用户所建对象
  • 需在两个用户会话中分别执行
  • 确保未来新建表自动继承权限
sql 复制代码
-- serveruser用户执行赋权给clientuser
ALTER DEFAULT PRIVILEGES IN SCHEMA test_privileges 
GRANT ALL ON TABLES TO clientuser;
-- clientuser用户执行赋权给serveruser
ALTER DEFAULT PRIVILEGES IN SCHEMA test_privileges 
GRANT ALL ON TABLES TO serveruser;
相关推荐
jiayou6418 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest3 天前
数据库SQL学习
数据库·sql
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle