商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

oracle标签安全测试

作者:blog  2007-05-08

其中牵涉到几个名词,解释一下:
Policy:就是安全策略,一个安全策略是level,compartment,group,label的集合。
Level:等级,这是最基础的安全控制等级,必须设置。
Compartment:分隔(这不是官方翻译),提供第二级的安全控制,是可选的。
Group:组(这不是官方翻译),提供第三级的安全控制,是可选的。
Label:标签,最终体现到每一行上的安全标签,必须设置。只有用户被赋予的标签和此行上的标签相同或者等级更高的时候,该行才能够被用户存取。

1。创建策略:
EXEC sa_sysdba.create_policy('DOC_POLICY','DOC_LABEL');

2。创建敏感等级:
EXEC sa_components.create_level('DOC_POLICY', 1000, 'PUBLIC', 'Public Level');
EXEC sa_components.create_level('DOC_POLICY', 2000, 'INTERNAL', 'Internal Level');

3。创建分隔:
EXEC sa_components.create_compartment('DOC_POLICY', 200, 'FIN', 'FINANCE');
EXEC sa_components.create_compartment('DOC_POLICY', 100, 'HR', 'HUMAN_RESOURCE');

4。创建分组:

EXEC sa_components.create_group('DOC_POLICY', 10, 'ALL', 'ALL_REGIONS');
EXEC sa_components.create_group('DOC_POLICY', 20, 'WEST','WEST_REGION', 'ALL');
EXEC sa_components.create_group('DOC_POLICY', 30, 'EAST', 'EAST_REGION', 'ALL');

((级别:分隔:组) 组成标签)(就是对于某个部门某个区域的用户的数据(记录)分别分配一个不同的标记,也就是标签的数字号,对用户也
分配同样的标记)

5。创建标签:

EXEC sa_label_admin.create_label('DOC_POLICY', '10000', 'PUBLIC', TRUE);
EXEC sa_label_admin.create_label('DOC_POLICY', '20200','INTERNAL:HR:WEST', TRUE);
EXEC sa_label_admin.create_label('DOC_POLICY', '20400','INTERNAL:FIN:EAST', TRUE);
EXEC sa_label_admin.create_label('DOC_POLICY', '30900','INTERNAL:HR,FIN:ALL', TRUE);

6。向表应用策略:
EXEC sa_policy_admin.apply_table_policy ( policy_name =>'DOC_POLICY',schema_name=>'TS',table_name=>'DOCUMENT',table_options=>'LABEL_DEFAULT,READ_CONTROL,WRITE_CONTROL');
1 2
【内容导航】
第1页: 测试步骤和准备 第2页: 第2页
©版权所有。未经许可,不得转载。
[责任编辑:晓熊]