创建级的存储过程:
以下是引用片段: PROCEDURE CREATE_LEVEL ( policy_name IN VARCHAR2, // 策略名 level_num IN INTEGER, // 级号 short_name IN VARCHAR2, // 短名称 long_name IN VARCHAR2); // 长名称 |
b)格(compartment)
格用于数据标签的敏感度的区域,格没有级别。格的数字和字符形式和级类似,不同的是各个格之间没有敏感度高低之分。格最多可以包含10000个元素。
创建格的存储过程:
以下是引用片段: PROCEDURE CREATE_COMPARTMENT ( policy_name IN VARCHAR2, // 策略名 comp_num IN INTEGER, // 格号 short_name IN VARCHAR2, // 短名称 long_name IN VARCHAR2); // 长名称 |
c)组(group)
组用于标识拥有或访问数据的组织结构。属于同一个部门的数据的标签可以具有同一个组。组是分等级的,用户可以利用组来根据自身的组织结构标识数据。组最多可以包含10000个元素。
创建组的存储过程:
以下是引用片段: PROCEDURE CREATE_GROUP ( policy_name IN VARCHAR2, // 策略名 group_num IN INTEGER, // 组号 short_name IN VARCHAR2, // 短名称 long_name IN VARCHAR2, // 长名称 parent_name IN VARCHAR2 DEFAULT NULL); // 父组名 |
(1)策略
一个策略必须包含一个等级组件,最多只能包含一个格和一个组组件。
创建策略存储过程:
PROCEDURE CREATE_POLICY (
policy_name IN VARCHAR2, // 策略名
column_name IN VARCHAR2 DEFAULT NULL, //标记列的默认名
default_options IN VARCHAR2 DEFAULT NULL); //默认选项
(2)标记
标签的语法:
LEVEL:COMPARTMENT1,,COMPARTMENTn:GROUP1,,GROUPn
标签字符串的最大长度为4000个字符,包括数字,空格和下划线。标签字符串是大小写不敏感,并且均以大写形式显示。
当一个合法的标记被创建时,一个数字标识与此标记的字符串相关联。这个数字标识用于存储在表格的标记列中。
创建标记的存储过程:
以下是引用片段: PROCEDURE CREATE_LABEL ( policy_name IN VARCHAR2, // 策略名 label_tag IN INTEGER, // 标记号 label_value IN VARCHAR2, // 标记值 data_label IN BOOLEAN DEFAULT TRUE); // 是否为数据标记\ |
2.2策略应用
(1)用户安全标记
在一个用户上应用一个策略,分别指定级、格和组。
指定最大级、默认级、行插入级和最小级。四个级之间的关系是max_level>=def_level>=row_level>=min_level。
指定等级的存储过程:
以下是引用片段: PROCEDURE SET_LEVELS ( policy_name IN VARCHAR2, // 策略名 user_name IN VARCHAR2, // 用户名 max_level IN VARCHAR2, // 最大级 min_level IN VARCHAR2 DEFAULT NULL, // 最小级 def_level IN VARCHAR2 DEFAULT NULL, // 默认级 row_level IN VARCHAR2 DEFAULT NULL); // 行插入级 |