ITM 62 权限设计
1 权限结构 详细的权限元素介绍请参看ITM User Guide 62 PDF文档,第12章节。此篇文档着重关注的是权限元素以及角色对权限元素之间的关系。 1.1 权限元素简介 在ITM62中,使用权限的有两个对象: 用户 用户组 被赋予权限,有三个对象: Permission:ITM基础功能的权限,比如对服务的起停,对Situation的定制,能否执行Query,等等。 Navigator View:ITM TEP不同的视图的访问权限控制。 Applications:对于被监控应用的控制。 以上三种属于权限资源,对这三种权限资源的是通过用户(User)和用户组(Group)来实现的。 2 赋权结构 2.1 赋权用例图 2.2 用户 针对用户,我们可以看到: 可以给用户直接赋权 用户可以属于一个或者多个组 用户将继承组所有的权限 用户不能修改继承得来的权限 2.3 用户组 针对用户组,我们可以看到: 可以给组赋权 一个组可以属于多个不同的Parent组,也可以拥有多个Child组, 但不能同时作为同一个组的Parent和Child (比如,GroupA既是GroupB的Parent,又是GroupB的Child, 这是不允许的)。原因是权限继承的时候会出现死循环递归如果互为父子的话。 不能修改来自继承得来的权限 组将拥有Parent组所拥有的全部权限 3 总结 从上面的权限元素之间的关系,我们可以看到,ITM的权限设计基本上遵循了RBAC(Role Based Access control)惯例,其中的Group就是Role的概念。对于权限的粒度,ITM只控制到了资源属性一级。比如说,一旦一个用户拥有Situation的查看权限,那么他就拥有了所有Situation的查看权限。无法针对不同的Situation进行更细粒度的控制。通常在大规模的集中部署情况下,权限会需要按照地域来划分。换言之,对于同一角色(在这里的概念是Group),不同的地域,将拥有不同的权限。在ITM 71中将实现细颗粒的授权(不确定71一定提供,但此feature已经在roadmap上): ...