内容存储 - 有关Cognos的安全功能和功能的信息

时间:2015-02-23 10:50:30

标签: cognos cognos-10 cognos-bi

有没有人知道在Content Store数据库中我们可以找到有关授予用户/组/角色的安全功能和功能(管理,执行索引搜索等)的信息?换句话说,我想编写一个SQL查询来获取可以访问特定安全功能和特性的用户/组/角色。

手动检查CMOBJPROPSN,CMREFORDN和CMREFNOORDN对我没有任何结果。

我们使用Cognos BI 10.2.1。

4 个答案:

答案 0 :(得分:2)

有专门的工具(如何从cognos db中获取信息并不明显)。我不确定MotioPI是否可以提供帮助,但您可以尝试一下。我过去曾经使用它,对于某些管理任务,它很有用。

答案 1 :(得分:1)

您可以查询哪些用户被分配到哪些组/角色。您可以进入Cognos Administration以确定为角色分配的功能。

(针对Oracle Content Store的查询示例)

-- To run on Cognos Prod Content Store, to check for Cognos Group assignments
select --decode(cmo.classid, 26, 'Role', 54, 'Group', 'Other') "OBJECT_TYPE"
      cmon.name object_name
,     v_user.name user_name
--,      cmo.cmid  object_cmid, v_user.cmid user_cmid
--,      cmr.propid                                            -- cmreford1.propid: ??? so far, always 27 for group/role assignments, 22/23/25 for timestamps?, 5 for report names?, 28 for Datasources, 45 large hex strings?
--,      cmr.ord                                               -- cmreford1.ord: order the user has when displaying all users in role/group
from cmreford1 cmr                                           -- cmreford1: Main table where user/role assignments are stored
join cmobjects cmo on cmr.cmid = cmo.cmid                    -- cmobjects: roles and groups.  groups 26, roles 54
join cmobjnames cmon on cmo.cmid = cmon.cmid                 -- cmobjnames: Role name lookup table     
join cmlocales cml on cmon.mapdlocaleid = cml.mapdlocaleid   -- cmlocales: contains language codes.  Join to objnames for 'en' language filter.
join cmobjprops33 v_user on cmr.refcmid = v_user.cmid        -- cmobjprops33: user table
where 1=1
  and cmo.classid in (26, 54)
  and cml.locale = 'en'
-- and (lower(cmon.name) like '%_edit%'
 --  or lower(cmon.name) like '%_view%'
 --  or lower(cmon.name) like '%_submit%'
-- )
  --and cmon.name = 'Webreporter'  -- Query Specific Groups/roles
 --and v_user.name like '%John%D%'  -- Query specific user names
  --and cmr.propid = 27
  group by cmon.name, v_user.name
  order by cmon.name, v_user.name --cmr.ord desc
;

答案 2 :(得分:0)

必需信息位于名为POLICIES的BLOB字段的CMPOLICIES表中。 进一步的BLOB运算技术依赖于uderlying DB类型(Oracle,MSSQL等)

答案 3 :(得分:0)

我在网上没有看到这么多,但您可以使用免费的 IBM Cognos BI用户和功能工具下载免费 {{ 3}}。它是一个Windows java应用程序,它很容易设置和工作得很好。我测试了它。它确实为每个用户提供了一个功能报告,但我没有看到我在下面粘贴SQL的基于角色的功能报告。

您可以免费使用的另一个工具是 Motio PI 。这是一个免费的工具,确实提供了一堆我发现乍一看的信息。我也没有在其中看到角色能力报告。你必须注册才能获得这个工具,但它很无痛。

然而,还有另一个来自IBM的免费工具叫做 IBM Cognos 10 Audit Extension (google it,因为我还不能在这里粘贴太多的链接)它涉及的更多安装(你必须在服务器上安装它),但我还没有运行它来测试它。

最后,经过几天的黑客攻击,我希望以下的sql查询能够为您提供帮助。这将列出所有角色,具有相关工具和功能的组(安全功能和功能)。这将显示个人用户权限。

您可以在我的github repo上找到更新的SQL: http://www-01.ibm.com/support/docview.wss?uid=swg24034217