2015-02-23 65 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