以下的文章就是对Oracle数据库与DM的强制访问的控制模型对比的Oracle LABEL SECURITY这一方面的具体描述,如果你对这一方面的实际应用感兴趣的话,以下的文章会提供给你相关的信息。
安全元素
(1)标记组件
有三种不同的组件:级、格和组。
a)级(level)
级用于标识数据的敏感度的级别,数据越敏感其级越高。每个级的组成形式有数字形式和字符形式。数字的范围在0-9999之间。
Oracle数据库创建级的存储过程:
以下是引用片段:
PROCEDURECREATE_LEVEL( policy_nameINVARCHAR2,
策略名
level_numININTEGER,
级号
short_nameINVARCHAR2,
短名称
long_nameINVARCHAR2);
长名称
b)格(compartment)
格用于数据标签的敏感度的区域,格没有级别。格的数字和字符形式和级类似,不同的是各个格之间没有敏感度高低之分。格最多可以包含10000个元素。
创建格的存储过程:
以下是引用片段:
PROCEDURECREATE_COMPARTMENT( policy_nameINVARCHAR2,
Oracle数据库策略名
comp_numININTEGER,
格号
short_nameINVARCHAR2,
短名称
long_nameINVARCHAR2);
长名称
c)组(group)
组用于标识拥有或访问数据的组织结构。属于同一个部门的数据的标签可以具有同一个组。组是分等级的,用户可以利用组来根据自身的组织结构标识数据。组最多可以包含10000个元素。
创建组的存储过程:
以下是引用片段:
PROCEDURECREATE_GROUP( policy_nameINVARCHAR2,
策略名
group_numININTEGER,
组号
short_nameINVARCHAR2,
短名称
long_nameINVARCHAR2,
长名称
parent_nameINVARCHAR2DEFAULTNULL);
父组名
(1)策略
一个策略必须包含一个等级组件,最多只能包含一个格和一个组组件。
创建策略存储过程:
PROCEDURECREATE_POLICY( policy_nameINVARCHAR2,
Oracle数据库策略名
column_nameINVARCHAR2DEFAULTNULL,
标记列的默认名
default_optionsINVARCHAR2DEFAULTNULL);
默认选项
(2)标记
标签的语法:
LEVEL:COMPARTMENT1,...,COMPARTMENTn:GROUP1,...,GROUPn
标签字符串的***长度为4000个字符,包括数字,空格和下划线。标签字符串是大小写不敏感,并且均以大写形式显示。
当一个合法的标记被创建时,一个数字标识与此标记的字符串相关联。这个数字标识用于存储在表格的标记列中。
创建标记的存储过程:
以下是引用片段:
PROCEDURECREATE_LABEL( policy_nameINVARCHAR2,
策略名
label_tagININTEGER,
标记号
label_valueINVARCHAR2,
标记值
data_labelINBOOLEANDEFAULTTRUE);
是否为数据标记