首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Cognos 商业智能软件中对访问权限的控制-2

Cognos 商业智能软件中对访问权限的控制-2

设置报表文件级别的数据访问安全打开 IBM Cognos Connection,对任意的文件夹或者报表文件均可设置以下操作来控制文件级别的数据访问安全。
工具栏中的属性选项卡是用来设置该文件所属目录的属性的,而每个文件对应的属性选项卡是设置该文件的属性的。
图 13. 设置报表属性点击报表旁边的属性选项卡设置该报表只对刚才设置的用户组 Demo_Group 可见。
图 14. 为该报表添加新的权限控制先用 Remove 按钮删除掉所有预先设置在该文件访问权限中的用户和组。然后点击添加选项卡添加刚刚设置的用户组。
选择 Cognos 命名空间,选择 Demo_Group 之后点击确定。
图 15. 设置完成完成上面步骤所示的操作之后,该文件即仅对 Demo_Group 中的用户可见。
设置报表中数据级别的访问安全在上一小节中介绍了如何对文件或者文件夹设置用户访问的安全性,但是在大部分的商业智能应用中,这些还远远不能达到要求。一般的用户需要对数据仓库中的数据设置用户访问的权限控制。比如,在员工人数按照部门分布报表中,我们希望限制每个经理只能看到汇报给他的员工人数,而不希望他看到其他经理下的员工人数。完成数据级别的访问安全性设置,我们需要以下两个步骤:
步骤 1. 设计用户相关性的数据存储结构
由于访问安全控制是基于数据仓库中的数据级别的,因此,在数据仓库的模型设计中就要考虑到登录用户的相关性问题,需要在数据仓库的星型模型中体现出来。
本例中的数据仓库模型设计为:
图 16. 数据模型其中,Employee 为事实表,Department 和 Location 为维度表。在 Department 维度表中添加 ManagerID 标识该部门的经理 ID,此 ID 也是登录 Cognos 服务器的用户 ID,即为企业目录服务器中的用户登录 ID。
如果能在报告中取到用户登录 ID 的值,再作为报告中查询项中过滤器的取值,便可以对数据进行访问过滤的设置。
步骤 2. 制作报表时将用户的登录 id 作为过滤器的取值
在报表中需要对数据进行过滤的查询项中添加过滤器。在过滤器中利用 Cognos 系统定义的宏 #sq($account.personalInfo.userName)# 来代替用户登录系统的 id 值作为过滤器的取值。这样,每个用户登录到系统打开报表时,该过滤器的取值就随着登录用户的变化而变化,从而实现了报表中数据的访问安全控制。
本例中可以在报表的数据项中设置如下内容的过滤器,这样就限制了登录用户只能看到汇报给他的员工信息:
1
[Department].ManagerID = #sq($account.personalInfo.userName)#




图 17. 在 Report Studio 中为数据添加过滤器总结综上所述,Cognos 商业智能系列软件可以设置不同级别的用户访问权限,系统不仅可以根据用户登录的认证标识选择提供给他不同的功能选项,还可以根据登录用户的属性,对其所能看到的数据仓库中的数据做相应的限制。
返回列表