VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

敏感标记

为实现强制访问控制功能,数据库管理系统应维护主体和客体相关的敏感标记,为主体和客体划分安全级。这些敏感标记是等级分类和非等级类别的组合,是实施强制访问控制的依据。

等级分类

Vastbase内置了16个等级分类,命名为Li,其中(1≤i≤16),等级标记满足偏序关系(若i≤j,则Li ≤ Lj)。

非等级类别

Vastbase内置了32个非等级类别,命名为Gi,其中(1≤i≤32)。非等级标记无法进行大小比较,但可以进行集合运算。例如非等级标记”G1,G3”包含”G1”。

敏感标记

Vastbase中敏感标记由等级分类和非等级类别两部分组成,两者中间用冒号(”:“)分隔,形式如下:

等级分类组:非等级类别组

其中等级分类组由多个等级分类组成,非等级类别组由多个非等级类别组成。等级分类和非等级类别之间用逗号(”,“)分隔,用点号(”.“)表示区间。

例如敏感标记”L1,L3.L7:G2,G4.G6,G27”表示的等级分类和非等级类别分别为:

  • 等级分类:L~1~,L~3~~L~7~

  • 非等级类别:G~2~,G~4~~G~6~,G~27~

设置表列的敏感标记

语法格式

表列:

SECURITY LABEL [FOR provider] ON COLUMN table_name.column_name IS 'label_name';  --设置表列的敏感标记
SECURITY LABEL [FOR provider] ON COLUMN table_name.column_name IS NULL;   --删除表列的敏感标记

存储过程:

SECURITY LABEL [ FOR vastbase ] ON PROCEDURE procedure_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] IS 'label_name' | NULL;

触发器:

SECURITY LABEL [ FOR vastbase ] ON TRIGGER object_name OF table_name IS 'label_name'' | NULL;

参数说明

label_name:敏感标记名称,在数据库中是唯一的,其长度不能超过63个字节,所有的非关键字、非保留关键字、可以做字段名称的关键字均可作为敏感标记名称。

provider:插件,数据库通过将插件(如果有)和数据库默认加载的插件ogmac组成链表。