Siebel权限管理.doc_第1页
Siebel权限管理.doc_第2页
Siebel权限管理.doc_第3页
Siebel权限管理.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

权限管理(一)概念和模型权限管理属于信息安全的内容,套用Windows信息安全的内容,信息安全包括下面六个要素:安全策略(Corporate Security Policy)、用户认证(User Authentication)、访问控制(Access Control)、加密(Encryption)、管理(Administration)、审计(Audit)。培训课程主要包括了Siebel的访问控制、用户认证、和所谓的网络安全。网络安全包括了加密通讯、用户session的密码保护、防火墙支持等内容,实际上是网络相关具体解决方案。其中和业务关系最紧密的是访问控制AC,也可以称为权限管理。根据RBAC(Role-Based Access Control)模型,权限管理包括几个对象:* 用户(user),可以映射为系统的某个使用者;* 控制对象(object)或资源(resource):即对什么东西进行权限管理。比如Siebel中的Account,Opportunity,Service Request的每个实例(指的是customer data,不是这些business entity本身)。控制对象本身是可以有层次结构的,比如某个Account可能附有一些Opportunity等;* 操作(operation):对控制对象可以进行操作,比如可见性、新增、删除、修改、查询;* 特权(privilege)或者许可(permission),表示一种“资源+操作”的组合,即对什么对象能做什么事情。* 角色(role),即“用户+特权”的组合,表示什么人能做有什么权力;* 会话(session),表示用户与激活的角色集合之间的映射,在系统运行的时候,一个用户可能有多个角色。* 用户组(group):是一个或者多个用户的聚合。这个RBAC里没有,是我加的,因为考虑到对单个用户进行授权可能导致工作量巨大。基于Siebel这样的COTS软件,我想权限相关的职责可以这样划分:* dev:软件本身的开发,提供对象定义和对象操作定义的能力,还应该提供某些权限能做什么事情的控制机制。* config:使用软件提供的能力定义新的对象、该对象相关的操作。* admin:管理:定义特权,定义角色(即用户和特权的关系)* using:使用,基于角色访问对象和功能,受到权限管理控制机制的控制。值得商榷就是是否应该由admin定义特权,实际生产中应该由业务需求者定义,admin仅仅是实现这个定义;权限管理(二)Siebel的实现Siebel权限管理包括下面的内容:* 对View的访问控制 Siebel中View是用户展现层的一个重要对象,一些逻辑上相关的业务实体被放在一起,定义了一套展现的方式就成为了View。其中每个业务实体可以展现为一个Applet。一个View可以包括多个Applet。Siebel将View作为一个控制对象,而将User做为用户,使用Responsibility定义View和User之间的关系。如果一个User的Responsibility中包括了一个View,那么这个User就可以访问这个View。在Responsibility中可以制定访问的方式是Read Only还是Full(允许修改)。 * 对用户数据(customer data)的访问控制 为了支持不用的user登录入同一个View看到不同的用户数据,Siebel引入了Position的概念,可以翻译成职位,但是实际含义不一样。Position是有层次关系的,Position的层次关系体现了数据可见性的层次关系。比如有个Position叫销售组长,管理若干Position叫销售代表,销售代表每个人都有不同的Opportunity,可以实现这样的数据可见性方案:每个销售代表只能看到自己的Opportunity,而销售组长可以看到他手下所有销售代表的Opportunity。Siebel中可以将Employee对象加入Position中(不过我目前没有搞清对于权限管理,User和Employee有什么区别,我觉得权限管理可以认为都是针对User的。)Position可以有树形的结构。 此外,Siebel还引入了Orgnization的概念,Orgnization是一种具有权限控制需求的的Division,而Division是Siebel用来体现组织结构关系对象。比如某公司下面有几个部门,就可以定义一个Division代表公司,然后每个部门定义一个Division,这些Division都是公司Division的子对象。如果某个Division有特别的数据访问控制要求,就可以通过设置一个flag将Division标记为一个Orgnization。Position强制要求被分配给一个Division。Orgnization/Division可以有树形的结构。 除了Orgnization和Position,数据访问控制还可以针对个人,即Person。 对于不同的类型的BC(business component,可以理解为一个business entity的逻辑实体),可以定义不同的数据访问模式,控制对该BC类型的用户数据的访问。访问模式包括:针对User,针对Position,针对Orgnization。Orgnization、Position本质上说是不同User组合模式,几种差别展示方式在于处理树形结构的方法差异,Orgnization更偏向于组织,而Position更偏向于人,即reporting的关系。可以将Orgnization和Position的差异理解为针对不同的视角将人进行分组。Siebel的这种实现可能是支持解决矩阵式的管理模式吧。 对于每个View,都定义了一个数据显示的方式。这个数据显示方式是基于View的主要Applet所属的BC的数据访问模式,Siebel预定义了几种View的数据显示方式,包括: - My View:显示基于user_id和当前活动的position,直接分配到User的记录;(记录owner=用户user_id 或者 记录position=用户当前的active position) - My Personal View:显示基于User拥有的记录;(记录owner=用户user_id) - My Teams View(Managers View):基于Position的,允许组长看到自己组员的记录。(我猜测是记录的position=用户position,或者记录的主position是用户的position的子孙。) - All View:显示用户所属的Orgnization的的记录;(用户Org=记录Org) - All Across My Orgnizations View:显示用户所属的Orgnization和该Orgnization的所有子Orgnization的记录;(用户的Org=记录的Org,或记录Org是用户Org的子孙Org) - All Across Organizations View:显示所有有拥有者的记录;(filter=owner is not null) - Administration View:显示所有的记录,即使没有一个拥有者;(就是列出数据库所有记录,没有任何记录) (括号内是我自己的理解,不一定对) Siebel还有一种特别的Team Access Control,某一条记录可以关联到一组Orgnization、Position或者Person,其中一个作为Primary。* 对配置数据(master data)的访问控制 Siebel系统还有一些预定义的master data,其中最有名的就是产品(product),即一个企业提供给用户的产品或者服务。master data通过Catelog/Category的目录结构组合在一起。可以向Category中附加Product的实例。用户对于master访问的方式是通过访问组(Access Group)。访问组可以包括:Orgnization、Position、Household、User List这几个User的组合,从而最终和User结合在一起。只有private的Catelog/Category需要设置访问组,public的不用。权限管理(三)Siebel与RBAC的对象映射 Siebel系统中的权限管理与RBAC没有完整的对应关系,但是可以分析出一定的联系。根据我的思考做了一些总结,可能存在问题,权作抛砖引玉吧:对于customer数据:* Siebel的User可以和RBAC的User对应;* Siebel的Orgnization、Position都是User的聚合,实际上是Group的概念;* Siebel的Responsibility和RBAC的role有一定的关系,但是又有很多差异;* Siebel的customer数据可以认为是RBAC的object/resource;* Siebel的View可以认为是RBAC的privilege,但是也不是完全对应;* Siebel没有和操作对应的实体,Siebel默认只有两种操作“只读”数据以及“完全控制(包括增加、删除、修改、查询)”数据,这二者是在Responsibility中设置的。对于master数据:* Siebel的User可以和RBAC的User对应;* Siebel的Orgnization、Position、Household、User List、Access Group都是User的聚合,实际上是Group的概念;* Siebel的Catelog/Category对应了RBAC的role;* Siebel的master data可以认为是RBAC的object/resource,Catelog/Category结构同时也是对于master data的组织模式;* Siebel没有和RBAC的privilege对应的实体;* Siebel没有和operation对应的实体,应该都是完全控制;几点理解: - Siebel是支持Category的树形结构的,对应RBAC模型中的Hierarchical RBAC,但只能用于master data。相应要求Access Group本身也有树形结构,并且需要和Catelog/Category满足一定的关系。个人认为Catelog/Category实际上既是object/resource的组织方式,又同时是privilege的组织方式,承担了两个职责; - Siebel没有支持RBAC的Static Separation of Duty和Dynamic Separation of Duty,即在权限分配、或者用户权限激活的时候都没有进行冲突检测。Sieb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论