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

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

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

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

сервер MS AS.

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

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

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

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

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

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

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

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

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

Я не замечал аномалий ни со стандартными memebers, ни с калькулируемыми.
...
Рейтинг: 0 / 0
Разграничивать доступ по таблице. MSAS
    #33070137
Rombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, всем спасибо, способ "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
Разграничивать доступ по таблице. MSAS
    #33070802
Андрей Никифоров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rombo для того чтобы им обеспечить достпуп я
- либо завожу на них отдельную роль, с "Unrestricted Access" на то измерение,
- либо векторно перемножаю таблицу привелигированных пользователей с таблицей Customers, получая дополниельные 5000 записей таблице фактов куба "security".



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

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

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

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

основная проблема - я не знаю MDX, только начал книжку читать, и пока никак не соображу, как слить два сета.
...
Рейтинг: 0 / 0
Разграничивать доступ по таблице. MSAS
    #33071516
Rombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
: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
Разграничивать доступ по таблице. MSAS
    #33073163
Андрей Никифоров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rombo:D :D :D :D :D

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

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


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