Content Store - информация о защищенных функциях и возможностях Cognos
Кто-нибудь знает, где в базе данных Content Store мы можем найти информацию о защищенных функциях и функциях (Администрирование, Выполнение индексированного поиска и т. Д.), Которые предоставляются пользователям / группам / ролям? Другими словами, я хочу написать запрос SQL, чтобы получить пользователей / группы / роли, которые имеют доступ к определенным защищенным функциям и функциям.
Ручные проверки CMOBJPROPSN, CMREFORDN и CMREFNOORDN для меня не дали результатов.
Мы используем Cognos BI 10.2.1.
4 ответа
Для этого есть специализированные инструменты (не очевидно, как получить информацию из Cognos DB). Я не уверен, что MotioPI может помочь здесь, но вы можете попробовать это. Я использовал его в прошлом, для некоторых задач администратора, и это было полезно.
Вы можете запросить, какие пользователи назначены на какие группы / роли. Вы можете зайти в Администрирование Cognos, чтобы определить, какие возможности назначены ролям.
(Пример запроса к 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
;
Необходимая информация находится в таблице CMPOLICIES в поле BLOB, которое называется POLICIES. Дальнейшие методы обработки BLOB-файлов зависят от типа базы данных (Oracle, MSSQL и т. Д.)
Я не часто упоминал об этом в Интернете, но вы можете использовать бесплатный инструмент для пользователей и возможностей IBM Cognos BI, который можно бесплатно загрузить по адресу http://www-01.ibm.com/support/docview.wss?uid=swg24034217, Это Java-приложение для Windows, которое очень легко настроить и работает довольно хорошо. Я проверил это. Он предоставляет отчет о возможностях для каждого пользователя, но я не видел отчет о возможностях на основе ролей, для которого я вставляю SQL ниже.
Еще один инструмент, который вы можете использовать бесплатно - это Motio PI. Это бесплатный инструмент, который предоставляет кучу информации, которая, на мой взгляд, выглядит на первый взгляд хорошо. Я не видел в нем отчета о возможностях роли. Вы должны зарегистрироваться, чтобы получить инструмент, но это безболезненно.
Тем не менее, есть еще один бесплатный инструмент от IBM, который называется IBM Cognos 10 Audit Extension (Google, я не могу вставить здесь слишком много ссылок). Он более сложен для установки (вы должны установить его на сервере), но я этого не сделал. пока не запускаю его, чтобы проверить.
Наконец, после нескольких дней взлома, я надеюсь, что следующий SQL-запрос будет работать для вас. В этом списке будут перечислены все роли, группы с соответствующими инструментами и возможностями (защищенные функции и функции). Это не будет отображать права отдельных пользователей.
Вы можете найти обновленный SQL в моем репозитории github: https://github.com/artchik/ccosql