gbase8s权限管理

一 权限分类

分片级权限(分片表)

表引用

类型级权限

例程级权限

语言级权限

序列级权限

等...

其中常用的为 数据库级权限,表级权限,序列级权限以及例程级权限

二 权限控制

当创建一个用户时,该用户没有任何权限,需要先授予该用户数据库级权限才能连接到数据库

grant connect/resource/dba to user;

在数据库的内部存在一个 public 用户,此用户无需创建,不可被删除, public 默认的权限为 su-idx---

权限说明

s(选择)、u(更新)、*(列级别特权)、i(插入)、d(删除)、x(索引)、a(改变)和 r(引用)

也就是说当一张表被创建出来 public 用户就默认拥有对该表的suidx权限

而数据库的其他用户除了 dba授予的权限之外同时也拥有 public用户的权限

举个例子 ,数据库下创建一张表 t1,使用dba 对 user01 用户授予对t1表的查询权限,由于user01拥有public用户的权限,所以 也可以去insert t1 update t1

个人理解 所谓的public用户权限设计目的是为了方便使用,在不授予任何表级权限的情况下,public 权限基本满足了使用者的常用操作

如果想要精准控制权限,则有如下两个方案

1)回收所有对象的 public用户 权限

revoke all on tabname from public;

回收public 用户权限之后,用户的权限来源就只剩下 dba用户授予的权限

grant select on tabname to username as owner;

此种方式有个问题为回收权限只能回收已经存在的表权限,新建的表仍然会有public 用户的权限,所以需要定时去刷一下权限

2)使用NODEFDAC 环境变量

export NODEFDAC=yes

使用此环境变量创建的表没有public 用户权限

三 权限查询

gbase8s 将权限与用户信息存储在系统表中

用户信息存储在 sysusers表中,而权限信息存储在systabauth表中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值