2015-02-23 31 views
1

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

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

我们使用Cognos BI 10.2.1。

+1

你可能需要使用SDK的是这样的。内容商店故意没有记录。 – Andrew 2015-02-23 13:46:55

+1

你好安德鲁。我了解内容商店有意不记录。这就是为什么我在这里问问题而不是向IBM提交PMR。 – 2015-02-23 16:09:03

回答

2

有专门的工具(它不明显如何从Cognos db中获取信息)。我不确定MotioPI可以在这里帮助,但你可以试试。我过去使用过它,用于某些管理任务,而且非常有用。

0

所需信息位于BLOB字段中的CMPOLICIES表中,称为POLICIES。 进一步的BLOB计算技术依赖于直接的DB类型(Oracle,MSSQL等)

1

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

(例针对Oracle内容存储查询)

-- 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 
; 
+0

即使不运行此SQL查询,我也可以进入Cognos Administration。目标完全是为了避免手动检查。 – 2015-02-25 04:03:49

+0

用CMPOLICIES加入此查询。 – Damienknight 2015-02-27 16:42:46

+0

正如你可以看到下面我发现CMPOLICIES表4天前。 – 2015-02-28 17:38:35

0

我没有看到这提到很多在网络上,但你可以使用免费的IBM Cognos BI的用户和功能工具下载为免费http://www-01.ibm.com/support/docview.wss?uid=swg24034217。这是一个Windows的Java应用程序,非常容易设置和运行相当不错。我已经测试过它。它确实为每个用户提供了一个能力报告,但是我没有看到我在下面粘贴SQL的基于角色的能力报告。

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

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

最后,经过几天的黑客攻击,我希望以下的sql查询适合你。这将列出所有角色,组和相关的工具和功能(安全功能和功能)。这将而不是显示个人用户权限。

你可以在我的GitHub库中找到更新SQL: https://github.com/artchik/ccosql