cognos的用户、组合角色
摘自:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1004gaoxf2/
首先,在 IBM Cognos 里创建的组和角色为 Cognos 的组和角色,目的在于身份的验证和授权。关于用户,Cognos 不直接创建用户,而是依赖第三方工具进行用户的创建工作,如LDAP。
在 Cognos 中角色与组的功能相似,Cognos 本身没有对此进行硬性规定。组和角色代表可以执行相似功能或在组织中具有相似身份的用户的集合。组的成员可以为用户和其它组。角色的成员可以为用户、组和其它角色。
Cognos 系统内置的名称空间 Cognos 里内置了一系列的角色,我们一般认为角色用来表示拥有相似功能权限的用户集合,组一般指在身份相近的一组用户集合,比如具有报表管理员权限的用户可以理解为这些用户具有报表管理员角色,而机构就可以理解为一个用户组。 比如在 IBM 很多客户的认证体系中,我们使用了两类组,一类用于表示角色,一类用于表示机构(还有一类用户表示部门,暂时未在 Cognos 中启用)。
角色和组的关系可以看出,机构是分层的,角色(也可以是用组来表示的角色)是平面的,在我们使用的安全模型中,每个机构都拥有相同的角色系列,该安全模型的优点是便于大规模的用户管理,Cognos 的安全管理只要关注角色,不需要关注具体的用户,由于角色的统一管理,也避免了角色混乱的情况出现。 如无特殊说明,使用组表示的角色我们称为角色,使用组表示的机构我们称为机构(Cognos 的内置角色在使用时会做专门说明)。 从使用方式来看,角色拥有一系列的功能权限,可以进行功能安全性的控制,同时,也可以用于对象安全性的控制。
准备工作
-
新建组和角色
我的认证名称空间下创建了如下用户
现在,新建一个用户组SCgroup并向其中添加sc1和sc2这两个用户
新建用户组
添加用户
注意:在添加用户的时候要勾选 显示列表中的用户 否则 ,看不到用户列表
建完组后就可以在cognos命名空间里看到刚刚的SCgroup了
-
建立测试数据
测试数据的表结构和关系入下:
权限设置
-
查询主题,数据项级别的权限控制
将原来的 任何人 删除并添加CSgroup
结果如下,这里可以灵活选择,允许和拒绝,根据需求选择。
结果:
用sc1登录,有所有表的权限。
sc1登录结果
而用admin登录,则发现,不具有对order表的权限
admin登录结果
还可以具体到每个字段进行这种权限设置。这里不再举例。 -
基于用户(或者组,角色)的数据过滤
指定数据安全
达到的效果:admin用户可以看到所有数据,SCgroup组的用户只能看到2017年的数据。
这里选择添加组,将SCgroup添加进来
添加组
这里添加一个过滤器定义,将year设置为2017,达到SCgroup智能查看2017年数据的效果。
添加过滤条件
结果
结果:
单纯的新建一个列表,不做任何过滤条件。
以admin身份登录,查看结果如下。
admin结果
以sc1身份登录,查看结果如下。
sc1结果
权限的设置要根据需求,自由搭配~~
感谢狮子大大的帖子,学到很多东西。
网友评论