GBase 8s数据库 ADD TREE 子句

TREE 类型的安全标签构件具有没有循环的简单图的逻辑拓扑。每个 TREE 构件都有单独的根节
点和不多于 63 个的附加节点。ALTER SECURITY LABEL COMPONENT 语句添加到此等级的新
元件必须在根节点之下插入。每个新节点的字符串常量必须跟随在 UNDER 关键字和之前声明的
字符串常量之后。TREE 构件的元件集合。包括它们的 UNDER 关键字和逗号分隔符必须用一对
括号( ( … ))括起。
在 UNDER 关键字之后指定的标签元素称为同一 UNDER 关键字(称为该父元素的 child)之前
的标签元素的 parent。新元件称为父元件的 child 。然而,如果 ADD TREE 子句为该构件指定了
在数据库中未定义的父元件,则 ALTER SECURITY LABEL COMPONENT 产生错误并失败。
UNDER 关键字不能跟随在一个已添加到同一 ADD TREE 子句中的构件元件之后。
指定为 TREE 组件的根节点的字符串常量具有 TREE 分层结构内所有节点的最高的数据敏感性。
在 TREE 中连续的父节点和子节点的任何子集中,每个非根元素具有比其父元素或其父元素的任
何祖先低的数据敏感性,但是具有比它的任何子元素或其子元素的后代高的数据敏感性。
当没有豁免的用户尝试访问由包括 TREE 组件的标签保护的数据时,如果此用户的安全标签不包
含符合数据行标签的同一组件的 TREE 组件中的一个元素,或者不包含符合这些元素其中之一的
祖先的元素,则读取操作失败。除非该标签的安全策略包含 OVERRIDE 子句,否则在相同情景下
写入操作也会失败。如果此数据行标签有多个 TREE 构件,则用户安全标签必须包含与该成分的
TREE 构件的元件值匹配(或祖)元件值。
在以下示例中,ALTER SECURITY LABEL COMPONENT 元件修改了一个 TREE 构件 Oakland ,修改方
式为添加两个新节点到用它 CREATE SECURITY LABEL COMPONENT 语句定义的六个节点的树结构
中:
CREATE SECURITY LABEL COMPONENT Oakland
TREE ( ‘Port’ ROOT,
‘Downtown’ UNDER ‘Port’,
‘Airport’ UNDER ‘Port’,
‘Estuary’ UNDER ‘Airport’,
‘Avenues’ UNDER ‘Downtown’,
‘Hills’ UNDER ‘Avenues’);
ALTER SECURITY LABEL COMPONENT Oakland
ADD TREE ( ‘Uptown’ UNDER ‘Port’,
‘Bay’ UNDER ‘Estuary’);
这里新的 Uptown 节点是 Port 的子节点,Port 有最高的数据敏感度,因为它是根节点。新的
Bay 节点是 Estuary 的子节点,Estuary 是 Airport 的子节点,Airport 是 Port 的子节点,由
此表明 Bay 在此等级的三个节点中具有较低的数据敏感度。实际上,它不像任何被标记为 Port
数据,而是归类到较低的级别。Port 值可用作标签分配给允许存取所有关于此 Port 数据的用
户。
如果此示例中的 ALTER SECURITY LABEL COMPONENT 语句成功,且随后定义的数据行标签指
定 Bay 作为 Oakland 构件的值,对安全策略不具有豁免权的用户在尝试在一个查询中读取受保
护的表时,它需要 Port 、Airport 、Estuary 或 Bay 其中之一作为安全, 没有此安全策略的豁免
的用户尝试读取查询中受保护的行时则需要将 Port 、Airport 、Estuary 或 Bay 作为用户标签值
以满足此数据行标签的组件。因为它们不符合 Bay 且不是 Bay 的祖,所以此用户标签中的该构件
的 Uptown 或 Downtown 值不满足。对于读取受保护的行的查询,该用户的安全标签包含满足此
行安全标签的任何其它构件的值,且该用户也持有对此表的 Select 存取权限,以及至少对包含该
保护的行的数据库的 Connect 存取权限。
ADD TREE 子句无法在现有子节点和其父节点之间插入一个新的节点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值