Для начала аудиторы запросили список существующих и удаленных пользователей системы. Используя вот эту подсказу вендора (структура и описание реляционных БД продуктов EPM), накидал 2! вьюхи в СУБД (MS SQL Server), в которых отразил все необходимые данные. К сожалению, FDM/HFM слабо интегрированы с HSS, поэтому вьюх и оказалось две.
Отчет по доступу к подсистеме бюджетирования на базе Planning/Essbase был получен таким образом из БД HSS:
SELECT DISTINCT TOP (100) PERCENT
dbo.CSS_USERS.NAME, dbo.CSS_USERS.FIRSTNAME, dbo.CSS_USERS.LASTNAME, dbo.CSS_USERS.DESCRIPTION, dbo.CSS_USERS.EMAIL, dbo.CSS_USERS.ACCOUNTSTATUS, dbo.CSS_GROUPS.NAME AS HSS_GROUP
FROM dbo.CSS_PROVISIONING_INFO CROSS JOIN
dbo.CSS_GROUP_MEMBERS INNER JOIN
dbo.CSS_GROUPS ON dbo.CSS_GROUP_MEMBERS.LOWER_GROUP_IDENTITY = dbo.CSS_GROUPS.LOWER_IDENTITY_ID INNER JOIN
dbo.CSS_USERS ON dbo.CSS_GROUP_MEMBERS.LOWER_MEMBER_IDENTITY = dbo.CSS_USERS.LOWER_IDENTITY_ID
ORDER BY dbo.CSS_USERS.NAME, HSS_GROUP
Отчет по доступу к подсистеме подготовки МСФО отчетности на базе FDM/HFM был получен из БД HSS + HSV_ProductionHFMAppName_SECCACCESS:
SELECT DISTINCT TOP (100) PERCENTгде hyp11hss - имя БД HSS, HSV_ProductionHFMAppName_SECCLASSES - имя таблицы с классами безопасности FDM/HFM.
hyp11hss.dbo.CSS_USERS.NAME, hyp11hss.dbo.CSS_USERS.FIRSTNAME, hyp11hss.dbo.CSS_USERS.LASTNAME, hyp11hss.dbo.CSS_USERS.DESCRIPTION, hyp11hss.dbo.CSS_USERS.EMAIL, hyp11hss.dbo.CSS_USERS.ACCOUNTSTATUS, dbo.HSV_ProductionHFMAppName_SECCLASSES.Label AS SecClass
FROM dbo.HSV_ProductionHFMAppName_SECCACCESS INNER JOIN
dbo.HSV_ProductionHFMAppName_SECCLASSES ON dbo.HSV_ProductionHFMAppName_SECCACCESS.ItemID = dbo.HSV_ProductionHFMAppName_SECCLASSES.ItemID INNER JOIN
hyp11hss.dbo.CSS_USERS ON dbo.HSV_ProductionHFMAppName_SECCACCESS.UserSID = hyp11hss.dbo.CSS_USERS.LOWER_IDENTITY_ID
ORDER BY hyp11hss.dbo.CSS_USERS.NAME
Таким образом, подключившись к созданным вьюшкам из Excel, свободно получаем данные для формирования отчетов по безопасности.
Отмечу, что пользователей мы декативируем, а не удаляем, сохраняя таким образом целостность аудита. По полю ACCOUNTSTATUS устанавливаем фильтр: где 1 - активный пользователь; 2 - "мертвая душенка".
Комментариев нет:
Отправить комментарий