KingbaseES-授权与角色

KingbaseES 使用角色的概念管理数据库访问权限。一个角色可以被看成是一个数据库用户或者是一个数据库用户组,这取决于角色被怎样设置。角色可以拥有数据库对象(例如,表和函数)并且能够把那些对象上的权限赋予给其他角色来控制谁能访问哪些对象。此外,还可以把一个角色中的成员资格授予给另一个角色,这样允许成员角色使用被赋予给另一个角色的权限。

为了方便权限管理,用户可以建立多个角色,对角色进行授权和权限回收,并把角色授予其他用户。用户建立连接后即具有默认角色的所有权限,新建用户没有设置默认角色时,其默认角色为空。用户可通过 SET ROLE 语句改变当前生效的角色,通过 ALTER ROLE 语句修改用户的默认角色。

权限是执行一种特殊类型的SQL 语句或存取某一用户的对象的权力,包括系统权限、对象权限和列级权限。

系统权限:是执行特定操作的权限。一类是以用户或角色的属性存在的系统权限,这些权限包括:CREATE DATABASE、CREATE USER、CREATE ROLE 的权限,具体分为SUPERUSER、SSO、SAO、CREATEDB 和CREATEROLE 五个系统权限;一类是通过GRANT/REVOKE 语句来授予和回收的系统权限,如ANY 系统权限。

对象权限:是对给定的用户授予在给定对象(例如表)上执行的操作集。这些操作可以指明为INSERT、SELECT 等,具体各类对象具有的权限类型可参见GRANT 和REVOKE 语句的说明。

列级权限:是对给定的用户授予在给定表或视图上某些列执行操作集。此动作只能为INSERT、UPDATE和REFERENCES。

当前用户是其所创建的对象的拥有者,对象的拥有者在其上具有所有特权。只有当用户有适当系统权限或对象权限时,才能执行相应操作,否则执行失败,并返回权限不足的错误提示信息。对象在创建时会被分配一个所有者,所有者通常是执行创建语句的角色。对于大部分类型的对象,初始状态下只有所有者(或者超级用户)能够对该对象做任何事情。为了允许其他角色使用它,必须分配权限。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值