当前位置:  数据库>oracle

知识进阶 完全了解 Oracle 标签安全测试

    来源: 互联网  发布时间:2017-03-17

    本文导语: 其中牵涉到几个名词,解释一下:  Policy:就是安全策略,一个安全策略是level,compartment,group,label的集合。   Level:等级,这是最基础的安全控制等级,必须设置。   Compartment:分隔(这不是官方翻译),提供第二级的...

其中牵涉到几个名词,解释一下:

  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);
7。向用户分配标签:

  EXEC sa_user_admin.set_user_labels -
  ( policy_name => 'DOC_POLICY' -
  , user_name => 'TEST' -
  , max_read_label => 'INTERNAL:HR,FIN:ALL' -
  , max_write_label => 'INTERNAL:HR,FIN:ALL' -
  , min_write_label => 'PUBLIC' -
  , def_label => 'INTERNAL:HR,FIN:ALL' -
  , row_label => 'PUBLIC');
  EXEC sa_user_admin.set_user_labels -
  ( policy_name => 'DOC_POLICY' -
  , user_name => 'HR' -
  , max_read_label => 'INTERNAL:HR:WEST' -
  , max_write_label => 'INTERNAL:HR:WEST' -
  , min_write_label => 'PUBLIC' -
  , def_label => 'INTERNAL:HR:WEST' -
  , row_label => 'PUBLIC');
  EXEC sa_user_admin.set_user_labels -
  ( policy_name => 'DOC_POLICY' -
  , user_name => 'SCOTT' -
  , max_read_label => 'PUBLIC' -
  , max_write_label => 'PUBLIC' -
  , min_write_label => 'PUBLIC' -
  , def_label => 'PUBLIC' -
  , row_label => 'PUBLIC');
  INSERT INTO ts.document VALUES(1, 'SHARE_WARE',CHAR_TO_LABEL('DOC_POLICY','PUBLIC'));
  INSERT INTO ts.document VALUES (2, 'WEST_PAYROLL', 20200);
  INSERT INTO ts.document VALUES (3, 'EAST_SALES', 20400);
  INSERT INTO ts.document VALUES (4, 'COMP_PAYROLL', 30900);





















































    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • web标准知识——用途相似的标签
  • web标准知识——丰富段落里的标签
  • 中文汉字编码知识及各种中文编码对应的编码区间总结
  • 考个SUN的JAVA认证值不值?能学到东西吗?是理论知识还是实践知识
  • MySQL索引基本知识
  • 在Linux下开发手机客户端或Pc客户端交互的服务器,需要学哪些知识?
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 基于lucene 4.3的知识图谱搜索引擎XunTa (一种用"知识点"来找人的搜人引擎)
  • Python异常处理基础知识
  • 看Linux源代码需要什么样的基础知识?
  • HTML 基础知识教程及代码实例
  • 学习linux网络编程需要学习些内核知识吗?
  • LINUX嵌入式应用程序员应具备哪些知识?
  • 知识管理系统 Sciret
  • 知识库管理 KnowledgeRoot
  • 大家写一些嵌入式系统需要的知识,可以吗?
  • linux的知识产权问题
  • 学习linux的新手,进程组,会话的知识重要吗?
  • 有关PS的基本知识
  • 大规模知识加速器 LarKC
  • Java知识协作平台 KiWi
  • 学习JAVA应具备什么知识?
  • 个人知识库 Piggydb


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3