暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s分片级授权的定义

郑小雯 2023-08-15
151

分片级授权的定义

在符合 ANSI 的数据库中,所有者隐式地获得对一新创建的表的所有表级权限,但其他用户得不到 这些权限。

对一分片表有表权限的用户隐式地拥有对该表的所有分片的权限。这些权限不记录在 sysfragauth

系统目录表中。

当在不符合 ANSI 的数据库中创建分片表时,表的所有者隐式地获得该表上所有表级权限,且在缺 省情况下其他用户(即 PUBLIC)获得所有分片级权限。在 systabauth 系统目录表中显式地记录 授予 PUBLIC 的权限。

然而,如果您使用 REVOKE 语句来撤销现有的表级权限,则可使用 GRANT FRAGMENT 语句来 给用户、角色或 PUBLIC 恢复指定的对该分片的一些子集的表级权限。

不论数据库是否符合 ANSI,您都可使用 GRANT FRAGMENT 语句来对通过表达式分片的表的一 个或多个分片授予显式 Insert、Update 和 Delete 权限。在 sysfragauth 系统目录表中显式地记录 GRANT FRAGMENT 语句授予的权限。

通过 GRANT FRAGMENT 语句对表分片授予的 Insert、Update 和 Delete 权限统称为分片级权限

或分片级授权。

分片级授权在语句验证中的作用

分片级权限使得用户能够对表分片执行 INSERT、DELETE 和 UPDATE 数据操作语言(DML) 语句,即使被授权者对整个表缺乏 Insert、Update 和 Delete 权限。缺乏表权限的用户可在授权的

分片中插入、删除和更新行,这是用于数据库服务器验证 DMIL 语句的算法决定的。此算法由下 列检查构成: 1. 当用户执行 INSERT、DELETE 或 UPDATE 语句时,数据库服务器首先检查该用户对尝 试的操作是否有必要的表权限。如果表权限存在,则继续处理该语句。 2. 如果不存在表权限,则数据库服务器检查该表是否通过表达式分片。如果该表未通过表达 式分片,则数据库服务器返回错误给用户。此错误表示用户没有权限执行该语句。 3. 如果该表通过表达式分片,则数据库服务器检查该用户是否对尝试的操作持有必要的分片 权限。如果该用户持有要求的分片权限,则数据库服务器继续处理该语句。如果不存在分 片权限,则数据库返回错误给用户。此错误表示用户没有执行该语句的权限。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论