Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Разграничивать доступ по таблице. MSAS / 16 сообщений из 16, страница 1 из 1
13.05.2005, 10:33
    #33061482
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Коллеги, добрый день.

Как реализовать разграничение доступа к разным элементам Dimension не на основе ролей, а по таблице-каталогу, в которой есть логины пользователей и индексы членов измерения?
Дело в том, что при редактор ролей в MS AS не очень наглядный, и крайне неудобен: в моем случае приходится создавать либо очень много ролей чуть ли не по каждому элементу Dimension, либо создавать отдельную роль для каждого пользователя.

сервер MS AS.
...
Рейтинг: 0 / 0
13.05.2005, 11:00
    #33061569
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Romboприходится создавать либо очень много ролей чуть ли не по каждому элементу Dimension, либо создавать отдельную роль для каждого пользователя Вас пугает объём работ?
Можно попробовать извратится с комбинацией UDF и StrToSet/StrToMember функциями в определении секьюрити
...
Рейтинг: 0 / 0
13.05.2005, 11:53
    #33061755
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
RomboКоллеги, добрый день.

Как реализовать разграничение доступа к разным элементам Dimension не на основе ролей, а по таблице-каталогу, в которой есть логины пользователей и индексы членов измерения?
Дело в том, что при редактор ролей в MS AS не очень наглядный, и крайне неудобен: в моем случае приходится создавать либо очень много ролей чуть ли не по каждому элементу Dimension, либо создавать отдельную роль для каждого пользователя.

сервер MS AS.

Не один вы такой, которому АS администратор не доставляет удовольствия.
Придется немного попрограммировать с DSO, чтобы перенести данные, оформленные в таблицу в роли AS.
...
Рейтинг: 0 / 0
13.05.2005, 12:57
    #33062043
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Dmitry Biryukov , Еще как пугает! Получается надо создать около 100 ролей - по роли для каждого пользователя, потому что почти нет возможности их объединения, т.к. они используют практически непересекающиеся куски информации.
При этом нетривиальной станет задача определения "а кто смотрит эту цифру".
а альтернативный вариант, я так понимаю, сводится к тому, чтобы при каждом обращении к кубу динамически формировался список полей при помощи функции из написаной для этой цели библиотеки? о ужас! я надеялся на более-менее простой подход.

backfire , да похоже придется изучать DSO, благо на форуме и в MSDN есть примеры создания ролей. хотя тут тоже придется достаточно повозиться, чтобы создать роли с требуемыми ограничениями.

Спасибо за советы !
...
Рейтинг: 0 / 0
14.05.2005, 01:54
    #33063618
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Еще есть вариант завести отдельный кубик Security и объединять его с кубом данных в виртуальный. Преимущества -- надо всего одну роль завести, а потом все будет работать динамически.
...
Рейтинг: 0 / 0
14.05.2005, 02:45
    #33063630
Владимир Иванов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
У Моши есть неплохая презентация по секретности MS AS, он там такую задачу предлагает решать через UDF.
...
Рейтинг: 0 / 0
14.05.2005, 03:59
    #33063654
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Владимир ИвановУ Моши есть неплохая презентация по секретности MS AS, он там такую задачу предлагает решать через UDF.

С UDF MS2K не так все гладко. Например у меня были проблемы с UDF на .NET

Вариант с кубом заработал с пол пинка.

Если мне не изменяет память, то все презентации по security описывают 3 основных варианта с указанием достоинств и недостатков каждого.

Удачи
...
Рейтинг: 0 / 0
14.05.2005, 14:47
    #33064788
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Коллеги, спасибо огромное!

Андрей Никифоров , Да интересный метод!
Владимир Иванов , спасибо за наводку (я тут новенький и места полезные пока не все изучил), у Моши там шикарная презентация по этой проблеме, в том числе рассмотрены способ "через UDF" и "Security Cube". Мне разбор примера с UDF не понравился тем, что он требует установки патча на сервер, а я по политике не могу ничего ставить на сервер без очень длинных и утомительных согласований с верхами.

А вот в способе "Security Cube" предвижу проблему: не будет ли он случайно в поле Total выдавать сумму по всем измерениям, включая невидимым ? такой вариант бы не очень устраивал при работе с очень чувствительной информацией. Андрей Никифоров , Вы говорите, что используете этот метод. Насколько мои опасения оправданы ?
...
Рейтинг: 0 / 0
14.05.2005, 20:13
    #33065490
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Rombo
А вот в способе "Security Cube" предвижу проблему: не будет ли он случайно в поле Total выдавать сумму по всем измерениям, включая невидимым ? такой вариант бы не очень устраивал при работе с очень чувствительной информацией. Андрей Никифоров , Вы говорите, что используете этот метод. Насколько мои опасения оправданы ?

Я не замечал аномалий ни со стандартными memebers, ни с калькулируемыми.
...
Рейтинг: 0 / 0
17.05.2005, 16:52
    #33070137
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Коллеги, всем спасибо, способ "Secure cube" работает наура!!

а вот такой вопрос:
вот допустим есть измерение "Customers" которое фильтруем и наше измерение "secure users" по которому фильтруем. для фильтрации у меня служит MDX выражение:

Код: plaintext
1.
2.
filter([Customers].[CustomerID].members,
(strtotuple("[secure users].["+Username+"]"),[Measures].[Secure])= 1 ) 

допустим, есть 10 пользователей с неограниченным доступом к кубу, например к 500 строкам измерения Customers . для того чтобы им обеспечить достпуп я
- либо завожу на них отдельную роль, с "Unrestricted Access" на то измерение,
- либо векторно перемножаю таблицу привелигированных пользователей с таблицей Customers, получая дополниельные 5000 записей таблице фактов куба "security".

а как нужно модифицировать MDX выражение, чтобы эти 10 пользователей проверялись в нем,
допустим, у привелегированного пользоваля в измерении "secure users"
MemberProperty "SuperManager"=1
...
Рейтинг: 0 / 0
17.05.2005, 22:37
    #33070802
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Rombo для того чтобы им обеспечить достпуп я
- либо завожу на них отдельную роль, с "Unrestricted Access" на то измерение,
- либо векторно перемножаю таблицу привелигированных пользователей с таблицей Customers, получая дополниельные 5000 записей таблице фактов куба "security".



У меня две роли. Роль для простых пользователей используется для разграничения прав на другие связанные с OLAP ресурсы (шаблоны отчетов и т.д.). Группа SuperUser только для полного доступа (т.е. superuser'ы будут в обеих группах).
...
Рейтинг: 0 / 0
18.05.2005, 09:50
    #33071165
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
я вот тоже думаю, что наиболее эффективно - создать роль,

но может быть я как нибудь я напишу простенькое VBA- или вэб-приложение, чтобы манагер, ответственный за отчет, сам мог легко манипулировать ролями, не дергая меня. DSO мне изучать пока лень, поэтому хочется создать отдельную таблицу, куда нужно заносить пуперюзеров.
...
Рейтинг: 0 / 0
18.05.2005, 10:15
    #33071251
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Romboя вот тоже думаю, что наиболее эффективно - создать роль,

но может быть я как нибудь я напишу простенькое VBA- или вэб-приложение, чтобы манагер, ответственный за отчет, сам мог легко манипулировать ролями, не дергая меня. DSO мне изучать пока лень, поэтому хочется создать отдельную таблицу, куда нужно заносить пуперюзеров.

Вариант: Если у Вас Active Directory, то можно делегировать часть полномочий Вашему манагеру. Он будет иметь возможность добавлять или удалять пользователей в группу Superuser. Права для обычных пользователей все равно надо вести в базе, на основании которой Вы строите Security Cube.
...
Рейтинг: 0 / 0
18.05.2005, 10:22
    #33071272
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
во-во! раз уж все равно храню доступ для всех в базе, так пусть и доступ для избрынных тоже будет в той же базе, что бы собрать все в одном месте.

основная проблема - я не знаю MDX, только начал книжку читать, и пока никак не соображу, как слить два сета.
...
Рейтинг: 0 / 0
18.05.2005, 11:28
    #33071516
Rombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
:D :D :D :D :D

Код: plaintext
1.
2.
3.
4.
5.
{
filter([Customers].[CustomerID].members,
(strtotuple("[secure users].["+Username+"]"),[Measures].[Secure])= 1 ),
filter([Customers].[CustomerID].members,
strtomember("[secure users].["+Username+"]").properties("SuperUser")="1")
}

правда после добавления пользователей требуется репроцессить секьюрный куб и виртуалный куб :)
...
Рейтинг: 0 / 0
18.05.2005, 19:18
    #33073163
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разграничивать доступ по таблице. MSAS
Rombo:D :D :D :D :D

правда после добавления пользователей требуется репроцессить секьюрный куб и виртуалный куб :)

Может сделав security cube ROLAP Вы сможете побороть эту проблему.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Разграничивать доступ по таблице. MSAS / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]