signet简介

来源:百度文库 编辑:神马文学网 时间:2024/04/29 08:47:54
一:概述
Signet组件的目的是对一个组织的所有应用的权限信息进行统一的管理。组件不是不参与每个具体应用的权限控制,相反,通过解释器将权限的信息转换成各个系统所能理解的权限控制的信息。
Signet组件是基于Stanford Authority system开发的,但是比此系统多了一个功能:对用户组进行权限设定。
Signet组件的具体实现目标如下:
1.  简化权限策略实现、管理、解释
2.  权限数据的一致性,各个应用的本地权限信息和权限信息管理中心的信息实时更新
3.  集中用户个人的权限查询功能
4.  更多的基于角色或者组
二:Signet组件概念
1.  Subsystem -- 权限的管理空间,对应于底层的各个应用系统。比如人事考核系统的权限信息希望能够集成到权限管理中心管理,那么人事考核系统对应于Signet来说就是一个Subsystem对象,必须在Signet内定义相关的信息。
2.  Function -- 从终端用户的角度来看,这是一个权限分配的最基本的单元。可以是一个权限或者多个权限组合是用户能够完成某项功能。
3.  Permission -- 做为权限控制的一个原子单元,代表一个具体的操作。
4.  Limit -- 权限的限定条件,用户只能在某个限制条件下行使某个权限。比如:张三老师只能查看计算机学院发布的通知。
5.  Scope -- 这是一种特殊的限制,权限应用于某个范围。此对象采用树状形式来定义组织范围。
6.  Prerequisites -- 权限激活必须要满足必需条件。
7.  Conditions --  权限的激活或者钝化在某种条件下可以自动完成。
三:Signet的角色和内部控制
Signet组件除了实现对个应用系统权限做集中管理之外,对于Signet本身的权限也做了定义,定义了四种基本的角色:
1.  application/signet―― 这是一个特殊的对象(subject),集成在Signet内,但并不与外部的系统有任何关系。此对象在系统初始化时建立,对象的类型是application。对象的名称就是Signet本身。它的主要权限就是授权其他对象代理为Signet系统的管理权限(sysadmin);
2.  person/sysadmin ―― Signet系统的管理权限,对象可以是任何用户,对象的类型是person,代理Signet对象行使在Signet内的权限。通过工具来设置用户的sysadmin权限。此权限没有任何子系统(subSystem)的限制。
3.  person/subsys-owner  ―― 在Signet系统内,将定义每个外面的子系统对象(subSystem),此权限就是对subSystem对象的权限基本信息进行管理,同时还可以授权其他用户使用子系统的权限。权限范围只是在subSystem内。
4.  person/ur-grantor ―― 用户拥有子系统的业务权限。有subsys-owner权限的用户来分配。
此四种权限的分配层次如下:
授权人
权限接受者
限制 (subsystem)
1.
application/signet
person/sysadmin
[none]
2.
person/sysadmin
person/subsys-owner
subsystem
3.
person/subsys-owner
person/subsys-owner2
subsystem
3.
person/subsys-owner
person/ur-grantor
subsystem
四:Signet组件与其他应用的集成

说明:
1.  Signet根据各个应用的权限需要定义相应的subSystem对象并定义相应的权限。权限的定义是从应用系统的业务来定义,说明用户能够在应用系统内能做什么。
2.  Signet从Grouper和ldap内读取用户组和用户,分别可以给用户组和用户设置权限
3.  权限翻译器将Signet内给用户设置的权限解释成各个应用系统所能理解的权限,实现应用系统的权限控制
参考文献:
http://middleware.internet2.edu/signet/