本文将简单介cognos中数据包,查询主题,字段的权限控制。生产环境的BI平台往往涉及很多用户,部门。为了便于权限管理,congos从报表模型,工具使用,到前端展现都提供丰富,实用的权限管理功能,能做到行级别的权限控制。由于篇幅原因 本文只介绍报表模型上的权限简单控制,欢迎拍砖交流。
首先要明白,用户,组,角色的概念。三者的关系一般如下:
注意:组可以加入其它组,组可以同时属于不同角色,角色可以加入其它角色,用户可以直接加入角色,当一个用户存在于多个组或角色时,权限取并集。用户,组,角色都是为方便权限设置存在的,没有规定死的用法,根据实际情况灵活调整才是正道。
Cognos本身是不带权限认证的,权限认证要基于第三方,比如ldap,SDK开发等。 cognos提供组,角色(没有用户),把认证名称空间里的用户添加到cognos组里,再结合实际对用户,组或者角色进行访问权限控制。
认证名称空间有以下几个用户,接下来的演示实验将基于他们进行。
--------------------------------------------------------------------------建立简单的组,角色-------------------------------------------------------------------
当对角色设置权限等同于对它下面全部的组,和组中成员设置权限。再一次强调:用户,组,角色都是为方便权限设置存在的,没有规定死的用法,根据实际情况灵活调整才是正道。在cognos中新增一个组:ABIgroup
添加成员:张三,李四。可以把数据库中不同部门的用户添加到同一个组中。用户,组,角色组合的方法非常灵活。
新建角色,并把组添加到角色中
同理添加组BBIgroup,组成员为王二,美国队长; 新建角色ABIrole,把ABIgroup添加进去;新建BBIrole,把BBgroup添加进去。
------------------------------------------------数据包级别的权限控制-----------------------------------------------------------
要求:只允许ABIgroup组里的用户使用数据包authorA。
新建数据包authorA,数据包发布时设置权限,仔细看说明“所选组和角色将能够使用此数据包来创建报表”
把ABIgroup组添加进去。数据包的管理和修改权限
设置完成后发布数据包,在门户的数据源配置上,把cognos名称空间对everynone的禁止去掉。否则非创建者所属的角色进入数据包会报错:找不到数据源
验证: 数据包发布后,以“王二”登录到系统。会发现王二看不到authorA这个数据包,因为他不是属于ABIgroup这个组。换成张三或者李四就能看到并正常使用authorA数据包。
------------------------------------------------查询主题,数据项级别的权限控制-----------------------------------------------------------
删除原先的everyone,添加ABIrole
类似的步骤对“部门名称”进行操作,
------------------------------------------------基于用户(或者组,角色)的数据过滤---------------------------------------------------------
让某些用户只能查看特定范围的数据,比如
步骤如下:
验证:
由于时间原因,多维模型的权限设置就不详解了,步骤都差不多。 Transformer,报表的权限设置有所不同,但原理都差不多。以后在介绍。 欢迎大家在Cognos,BI技术交流群 347488829里拍砖交流