“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;
相关推荐
tedcloud12310 分钟前
FluentFlyout部署教程:打造更美观的Windows桌面环境
数据库·人工智能·sql·学习·自动化
無限進步D20 分钟前
MySQL 约束
数据库·mysql
C137的本贾尼23 分钟前
磁盘结构与关键日志:Redo Log、Undo Log 与双写缓冲区
服务器·数据库·oracle
C137的本贾尼27 分钟前
幻读与 Next-Key Lock:可重复读隔离级别如何解决幻读
大数据·数据库
C137的本贾尼31 分钟前
死锁的产生、检测与避免
数据库
C137的本贾尼34 分钟前
事务入门:确保数据的一致性与持久性
数据库
我爱吃土豆143 分钟前
Agent 的记忆机制
开发语言·数据库·人工智能
AOwhisky1 小时前
MySQL 学习笔记(第五期):用户管理与权限控制
linux·运维·数据库·笔记·学习·mysql
梦想的颜色1 小时前
Redis数据类型全解析:从底层原理到生产实战
运维·数据库·redis·缓存·高并发·分布式锁·数据类型
C137的本贾尼1 小时前
InnoDB 的物理世界:表空间、段、区与页
数据库