GBase8a--权限管理

前言

GBase 8a的权限管理是一个复杂而关键的过程,它确保了不同用户只能访问和操作他们被授权的数据库对象和功能。权限管理在数据库安全中起着至关重要的作用,它可以帮助管理员规划好不同数据库用户的职责,并给其赋予相应的操作权限,以保证数据库的安全操作。

在GBase 8a中,权限管理涉及到多个方面和层次。首先,它提供了多种类型的权限级别,包括全局级、vc级、数据库级、列级、表级等。这些权限级别允许管理员根据用户的职责和需求,精确地控制用户对数据库的访问和操作范围。

一、grant和revoke语法介绍

GRANT priv_type1,priv_type2... ON priv_level to  username/rolename;

REVOKE priv_type1,priv_type2...ON priv_level from  username/rolename;

priv_type:权限类型

priv_level:权限级别

二、权限类型和级别

1、权限级别:gbase8a支持全局级,vc级,库级,表级,列级;

数据库权限分为:数据库操作类权限、数据操作类权限、存储过程和自定义函数执行权限、数据查看类权限、数据库管理类权限(包括了用户管理)。

2、权限类型:gbase8a支持的权限类型如下表所示:

权限

意义

ALL

设置除GRANT OPTION之外的所有简单的权限

select

允许查看表数据

insert

允许插入表数据

update

允许修改表数据

delete

允许修改表行数据

create

允许创建库表

drop

允许删除库/表/视图,包括truncate

alter

允许修改表结构(create,drop)

index

允许创建和删除索引

reload

允许执行flush

Create temporary tables

允许创建临时表

Lock tables

允许对拥有select权限的表锁定

Grant option

管理权限的权限

process

允许查看实例进程信息

super

允许进行一系列的数据库管理的命令,包括kill和set 命令

Show databases

显示数据库

Create view

创建视图

Show view

允许查看创建的视图

unmask

允许不受数据脱敏限制

Create routine

允许创建存储过程/函数

Alter  routine

允许修改或删除存储过程/函数

execute

允执行存储过程/函数

Create user

创建/修改/删除/重命名user和role

event

查看/创建/修改/删除事件

trigger

查看/创建/修改/删除触发事件

FiLE

允许使用导出和加载数据

Shutdown

允许使用gbaseadmin shutdown

usage

用于连接登录数据库

三、给用户授予权限

前提:数据库的各个用户和操作对象存在

各个级别及多种权限授予用户示例:

grant all on *.*.* to user user1;
grant create,select,insert,alter on *.*.* to user2;   #全局级
grant create,select,execute,create routine on vc1.*.* to  user3; #集群带vc
grant create,select,delete,insert,drop on test.* to  user4; #库级
grant create,select,create view,show view,insert,drop on vc1.test.t1 to user5; #表级
grant select,update(a),insert(i) on vc1.test.t1 to  user6;     #列级 
四、回收用户权限

回收用户权限示例:

  revoke all   on *.*.* from user user1;
  revoke create,select,insert,alter on *.*.* from  user2;   #全局级
  revoke create,select,execute,create routine on vc1.*.* from  user3; #vc级
  revoke create,select,delete,insert,drop on test.*  from user4; #库级
  revoke create,select,create view,show view,insert,drop on vc1.test.t1 from  user5; #表级
  revoke select,update(a),insert(i) on vc1.test.t1 from  user6;#列级  
五、给用户组授予权限

用户组:设置用户归属的用户组,用户组的权限会影响到该用户组的权限鉴定。即用户拥有用户组被授予的权限。

前提:创建用户组,设置用户归属的用户组,sql执行如下:

create role role1;
grant user1 to role1;
grant role1 to user1;
grant select on *.*.* to role1;
show grants for user1;

 部分运行代码展示:

六、回收用户组权限

回收用户组权限示例:

revoke select on *.*.* from role1;

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值