关键字:
策略特权、访问控制、人大金仓、KingbaseES
策略特权概述
1.1KES特权介绍
KingbaseES为一些特殊操作提供系统预设的特权,以提高数据访问控制的灵活性,
系统预设可授予用户的特权如下:
Read特权:用户可以读取安全策略所保护的所有数据,拥有read特权的用户仍然能够根据标记规则写相应的数据。
Full特权:用户可以读写安全策略所保护的所有数据, KingbaseES对具有FULL特权的用户所进行的操作,不进行强制访问控制。
Writeup特权:允许用户提升数据标记的等级,但用户只能将等级提升到用户最大等级,并且不能修改数据的范围。
Writedown特权:允许用户降低数据标记的等级,但用户只能将等级降低到用户最小等级,无法修改数据范围。
Writeacross特权:允许用户修改数据标记的范围,但不能修改数据标记的等级,新的范围必须是用户最大写范围的子集。
1.2授予用户特权语法格式
SYSMAC.SET_USER_PRIVS (policy_name ,username ,privileges)
参数说明:
policy_name:指定数据库中已经创建的安全策略名称。
username:指定用户名称。
privileges:为指定用户的特权列表,多个特权由“,”隔开,当设为NULL时,回收用户所有策略特权。
示列:为用户u2设置策略特权full
二、策略特权场景构造
本场景通过对用户设置特权来访问高于当前标记等级的对象和不同策略下的对象,旨在说明使用策略特权的访问规则。
步骤1:为用户u2设置p2策略下的标记l1:r1
步骤2:为表t2设置p2策略下的标记l2:r2
步骤3:为表t3设置p1策略下的标记l1:r1
步骤4:为用户u2设置策略特权full
步骤5:利用用户u2去查看表t2,访问成功
步骤6:利用用户u2去查看表t3,访问失败
三、总结
对用户设置策略特权,使用户通过策略特权方法操纵强制访问控制规则以外的数据,对于不同策略下的数据,策略特权具有隔离性。此外对于没有授予标记的用户不能对其授予策略特权。




