人大金仓数据库KingbaseES中行级策略介绍

本文介绍了人大金仓KingbaseES中的行级策略,如何通过细致的访问控制实现数据的安全管理,包括设置策略语法、读写规则示例以及两个实际应用场景的详细步骤。行级策略允许不同权限级别的用户对表中特定行进行操作,确保数据的隐私和安全性。
摘要由CSDN通过智能技术生成

行级策略介绍

关键字:

行级策略、标记、策略、人大金仓、KingbaseES

行级策略概述

1.1概述

不同于对数据库对象设置标记,行级策略可以将数据的安全访问控制缩小到行级细粒度,利用不同等级范围的用户对表中不同行的数据写入,使表中每行都有不同的访问控制权限。

对表设置行级策略后,用户需要具有对应表的权限通过自主访问控制校验后,才能用持有的标记在表中读、写数据,标记的等级越高可操作的范围越大。访问规则分为读访问规则和写访问规则。

1.2管理行级策略语法

应用行级策略语法

SYSMAC.APPLY_TABLE_POLICY (

policy_name NAME,

schema_name NAME,

table_name NAME

)

移除行级策略语法

SYSMAC.REMOVE_TABLE_POLICY(

policy_name TEXT,

schema_name TEXT,

table_name TEXT,

drop_column BOOL

)

参数说明:

policy_name:指定数据库中已经创建的安全策略名称。

schema_name:指定数据库下的模式名称。

table_name: 指定被策略policy_name保护的表名。

drop_column:指定从表上移除策略时是否移除策略列。

示列:对表t2设置行级策略p2。

移除t2表存在的行级策略p2

1.3读写访问规则

读访问规则:

  1. 数据标记的等级必须小于等于用户的当前读标记等级;
  2. 用户会话读标记必须包含数据标记中的所有范围。

写访问规则:

  1. 数据标记的等级必须小于等于用户的当前写标记等级;
  2. 数据标记的等级必须大于等于用户的最小等级;
  3. 用户的会话写标记必须包含数据标记中的所有范围。

读写访问规则遵循向下读,区间写模型。用户只能读取小于等于自身安全等级的数据,只能对大于用户的最小写安全等级小于等于用户当前写安全等级的数据进行修改,且用户的读写会话标记范围需要包括数据标记中的所有范围。

二、构造行级策略场景并分析

2.1 场景一

本场景通过对表设置行级策略,并通过带标记用户输入带标记数据,利用其它用户进行访问来说明行级策略下的数据读访问规则。

步骤1:对表t2设置行级策略p2

步骤2:为用户u1设置策略p2下的标记l2:r1

步骤3:利用u1对表t2插入数据并读取t2数据

步骤4:使用未设置标记的用户u2和u3对表进行查看

步骤5:给用户u2设置标记l1:r1,并利用u2对表进行查看,发现由于等级不能达到访问仲裁要求,u2用户依旧不能读取u1用户插入的数据

步骤6:给用户u3设置标记l3:r1,并利用u3对表进行查看,由于u3设置的标记等级满足读取u1用户写入数据等级,故能够成功访问u1写入的数据。

总结:对表应用行级策略后,表中应用行级策略之前的数据会被隐藏,且表中会多一个策略列字段,该字段可以被隐藏。应用行级策略后表中的数据的读和写遵循一定的规则,用户所写入的数据只能被相同或更高权限等级的用户所查看读取,且未设置标记的用户不能查看带标记的用户在应用行级策略表中写入的数据。

2.2 场景二

本场景通过对表设置行级策略,并通过带标记用户u1对表插入带标记数据,利用带标记用户u2、u3对数据进行读写操作来说明行级策略下的读写访问规则,同时说明设置用户标记时,各个参数的具体含义。

步骤1:对表t2设置行级策略p2

步骤2:为用户u1设置p2策略下标记,其中最大读标记为l3:r1,最大写标记为l3:r1,用户写入标记为l2:r1,最小写入标记为l2:r1,默认会话标记为l2:r1。

步骤3:为用户u2设置p2策略下标记为l2:r1

步骤4:为用户u3设置p2策略下标记为l3:r1

步骤5:利用用户u1对表t1插入数值

步骤6:使用用户u2来查找表t2数据,发现能够成功查询到u1插入的数据且能够写入数据

步骤7:使用用户u3来查找用户表t2数据,发现能够成功查询到u1插入的数据但不能够改写数据

总结:对用户设置的用户写入标记代表着用户写入表中的行级数据标记的等级,例如上文用户u1设置的用户写入标记为l2:r1,则u1用户写入表t2中的数据值c1=112,c2=221的标记等级为l2:r1,当用户u2进行查询时,由于u2的读写标记为l2:r1,对行级数据c1=112,c2=221的读写操作支持,故能够进行操作,对于用户u3,由于其读标记值为l3:r1,对于读访问规则满足,但由于其最小写标记等级为l3:r1,对于写访问规则中第二条“数据标记的等级必须大于等于用户的最小等级”,其不满足,所以不能对数据进行更改。

三、总结

不同于对表设置标记,对表设置行级策略遵循上读下写原则,用户所写入的数据只能被相同或更高权限等级的用户所查看读取,且未设置标记的用户不能查看带标记的用户在应用行级策略表中写入的数据。

参考文档:

《 KES产品用户手册》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值