powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Roles в виде матричной структуры
25 сообщений из 33, страница 1 из 2
Roles в виде матричной структуры
    #32985765
EugenT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите можно ли в AS настроить роли в виде матричной структуры, а не древо-видной основываясь на группах пользователей (т.е. не указавать самих пользователей - т.к. их очень много) и можно ли поменять приоритеты (запрета/разрешения)?

Описание рисунка:
Организационная структура - это группы пользователей в AD относительно каждой организации (пример, Ф1/Ф2/Ф3)
Структурные подразделения - это дополнительные группы пользователей в AD - отделы фирмы (пример, СП1=финансисты/СП2=экономисты)

Для каждой фирмы (из Организационной структуры) создается отдельная роль в Database Roles с указанием что можно видеть, а что нельзя.
И для каждого структурного подразделения создается отдельная роль в Database Roles.

Пользователи, которые входят в группу СП1 видят весь куб Продаж (т.е. по всем фирмам: Ф1 и Ф2 и Ф3) - куб Остатки данные пользователи не видят.
Пользователи, которые входят в группу Ф1 видят информацию по кубам Продажи и Остатки , но только по фирме Ф1.

А если пользователь входит и в группу СП1 и в группу Ф1 , то получается что он может видеть:
1.всю информацию по кубу Продаж по всем фирмам: Ф1 и Ф2 и Ф3
2.и информацию по фирме Ф1 в кубе Остатки

Т.е. получается, что приоритет разрешения выше, чем приоритет запрета - как сделать наооборот?
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32985778
EugenT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EugenTПодскажите можно ли в AS настроить роли в виде матричной структуры, а не древо-видной основываясь на группах пользователей (т.е. не указавать самих пользователей - т.к. их очень много) и можно ли поменять приоритеты (запрета/разрешения)?

Описание рисунка:
Организационная структура - это группы пользователей в AD относительно каждой организации (пример, Ф1/Ф2/Ф3)
Структурные подразделения - это дополнительные группы пользователей в AD - отделы фирмы (пример, СП1=финансисты/СП2=экономисты)

Для каждой фирмы (из Организационной структуры) создается отдельная роль в Database Roles с указанием что можно видеть, а что нельзя.
И для каждого структурного подразделения создается отдельная роль в Database Roles.

Пользователи, которые входят в группу СП1 видят весь куб Продаж (т.е. по всем фирмам: Ф1 и Ф2 и Ф3) - куб Остатки данные пользователи не видят.
Пользователи, которые входят в группу Ф1 видят информацию по кубам Продажи и Остатки , но только по фирме Ф1.

А если пользователь входит и в группу СП1 и в группу Ф1 , то получается что он может видеть:
1.всю информацию по кубу Продаж по всем фирмам: Ф1 и Ф2 и Ф3
2.и информацию по фирме Ф1 в кубе Остатки

Т.е. получается, что приоритет разрешения выше, чем приоритет запрета - как сделать наооборот?

Забыл добавить, а хотелось бы, чтобы пользователь (который входит и в СП1 и в Ф1 ) мог видеть, только информацию по кубу Продажи и только по фирме Ф1
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32987229
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EugenTА если пользователь входит и в группу СП1 и в группу Ф1, то получается что он может видеть:
1.всю информацию по кубу Продаж по всем фирмам: Ф1 и Ф2 и Ф3
2.и информацию по фирме Ф1 в кубе Остатки
3. Забыл добавить, а хотелось бы, чтобы пользователь (который входит и в СП1 и в Ф1) мог видеть, только информацию по кубу Продажи и только по фирме Ф1
А Вы себе не противоречите ? Т.е. у Вас получилось, чыо если пользователь принадлежит двум группам он видим меньше чем если бы он принадлежал только одной.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32987470
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут надо создавать роль для каждой ячейки матрицы, а НЕ для строк и столбцов. тогда всё будет ОК
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32987497
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Концепция объединения наборов прав при членстве в различных группах является основополагающей.
Вам необходимо указывать не "что можно видеть", а "что нельзя видеть" Тогда при членстве в двух группах вы получите именно то что вам надо, ведь

NOT(NOT(A) UNION NOT(B)) == A INTERSECT B
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32988056
EugenT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mosha EugenTА если пользователь входит и в группу СП1 и в группу Ф1, то получается что он может видеть:
1.всю информацию по кубу Продаж по всем фирмам: Ф1 и Ф2 и Ф3
2.и информацию по фирме Ф1 в кубе Остатки
3. Забыл добавить, а хотелось бы, чтобы пользователь (который входит и в СП1 и в Ф1) мог видеть, только информацию по кубу Продажи и только по фирме Ф1
А Вы себе не противоречите ? Т.е. у Вас получилось, чыо если пользователь принадлежит двум группам он видим меньше чем если бы он принадлежал только одной.

Все правильно. Идея такая, чтобы права у пользователя (который входит и в СП1 и в Ф1) становильсь равными пересейчению прав, а не сложению!

backfireКонцепция объединения наборов прав при членстве в различных группах является основополагающей.
Вам необходимо указывать не "что можно видеть", а "что нельзя видеть" Тогда при членстве в двух группах вы получите именно то что вам надо, ведь
NOT(NOT(A) UNION NOT(B)) == A INTERSECT B

Получается следующим образом:
1.Пользователям, которые входят в группу Ф1 запрещаем на уровне Dimension - Фирмы все (Ф2/Ф3) кроме Ф1 (т.е.Custom-Select all members)
2.Пользователям, которые входят в группу СП1 зарещаем Dimension-Фирмы (т.е. Fully Restricted)

Если пользователь входит СП1 и Ф1 - он не может посмотреть куб Продаж вообще! Может как-то иначе нужно дать права?

Dmitry Biryukov
имхо, тут надо создавать роль для каждой ячейки матрицы, а НЕ для строк и столбцов. тогда всё будет ОК

Добавил дополнительный столбец в таблицу Фирмы, где указал Домен\Логин пользователя, который может просматривать информацию по конкретной фирме в Dimension-Фирмы в MemberProperties добавил данный столбец (Access). Но вот не могу понять почему в MDX Sample Application все отрабатывает, а в Cell Security ругается!?
Код: plaintext
1.
2.
3.
select Filter({[Фирмы].[Наименование].Members},Instr([Фирмы].CurrentMember.Properties("Access"),"MyDomen\UserX")<> 0 ) on  0 ,
 {[Measures].[Кол]} on  1 
from
 [Продажи]
"MyDomen\UserX" (пример для теста)- заменяю на функцию UserName

А в Cell Security пишу
Код: plaintext
1.
Filter({[Фирмы].[Наименование].Members},Instr([Фирмы].CurrentMember.Properties("Access"),"MyDomen\UserX")<> 0 )
"MyDomen\UserX" (пример для теста)- заменяю на функцию UserName

Получаю ошибку! Может чего-то не хватает?
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32988106
EugenT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для случая с Cell Security - все решилось без фильтра:
Код: plaintext
1.
2.
Instr( 1 ,[Фирмы].CurrentMember.Properties("Access"),"MyDomen\UserX")> 0 
 или
Instr( 1 ,[Фирмы].CurrentMember.Properties("Access"),UserName)> 0 
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32988146
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евнгений, позвольте полюбопытствоывать, а что за front-end вы используете для работы с MS AS?
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32988564
EugenT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
backfireЕвнгений, позвольте полюбопытствоывать, а что за front-end вы используете для работы с MS AS?
MS Excel 2003 (он как раз и не может отобразить куб для пользователя если у него роли настроены таким образом)
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32988749
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного оффтопик.

В далеком 2001 году когда я еще писал на VB, я имел горячую но бесплодную любовь с ролями в AS. Т.к. у меня самописный Front End, коротый общается с AS исключительно через опять же саморисное MiddleWare, то я отказался от использования ролей в AS и потрудился написать собственную систему безопасности о чем ни на минуту не жалею.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32989021
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 backfire
Если не затруднит - "своя безопасность" это в смысле ограничивать входные данные для запросов?
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32989093
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нечто в этом роде. "запрос" внутри приложения имеет объектную структуру и переводится в MDX только на "сервер приложений", где и исполдняется. Поэтому:
front end, хоть и Windows приложение, но кроме .Net Runtime не требует ничего (ни MDAC, ни PTS).
PTS клиентом явдяется "сервер приложений" поэтому проблем потребления памяти и CPU на front end в принципе нет.


1 Ступень. Пользователь может слабать запрос, только из того на что имеет права.
2 Ступень. Даже если "серверу приложений" будет передан "запрос" с превышением полномочий, то он отфильтрует что надо.
Вторая ступень в нормальный ситуациях не работает, за исключением, если роль изменили, а front end уже был запущен и пользователь составил запрос исходя их старой версии роли.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32989192
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32989876
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
backfire2 Ступень. Даже если "серверу приложений" будет передан "запрос" с превышением полномочий, то он отфильтрует что надо
Т.е. это означает что пользователь ограничен в том что он может сделать ? Например, он не может определить собственные calculated members ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32989888
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mosha backfire2 Ступень. Даже если "серверу приложений" будет передан "запрос" с превышением полномочий, то он отфильтрует что надо
Т.е. это означает что пользователь ограничен в том что он может сделать ? Например, он не может определить собственные calculated members ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights

Это совершенно не так. Кому позволено создавать CM, тот может их создавать.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990098
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
backfireЭто совершенно не так. Кому позволено создавать CM, тот может их создавать.
Это интересно ! Вы не могли бы обьяснить, как Вы тогда контролируете security на middleware ? Допустим пользователь может видеть только данные по Гановеру, но не по всей Германии. Как Вы контролируете что в выражении calculated member, он не вставит Германию ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990285
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mosha backfireЭто совершенно не так. Кому позволено создавать CM, тот может их создавать.
Это интересно ! Вы не могли бы обьяснить, как Вы тогда контролируете security на middleware ? Допустим пользователь может видеть только данные по Гановеру, но не по всей Германии. Как Вы контролируете что в выражении calculated member, он не вставит Германию ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights


Все гораздо проще. Создавать CM "руками", т.е. писать MDX, могут только администраторы. Все остальные создают только элементарные "CM" только из видимых (допустимых) членов измерений в визуальном конструкторе, где MDX выражение даже не показывается. Простым пользователям direct MDX просто не дан.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990303
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОК, т.е. мое начальное предположение что пользователи не могут создавать собственные calculated members было верным. Они могут делать только то что позволяет UI, но не вставлять собственный MDX. Это я не критикую, я просто пытаюсь понять. А как Вы реализовали режим visual totals без поддержки сервера ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990410
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoshaОК, т.е. мое начальное предположение что пользователи не могут создавать собственные calculated members было верным. Они могут делать только то что позволяет UI, но не вставлять собственный MDX. Это я не критикую, я просто пытаюсь понять. А как Вы реализовали режим visual totals без поддержки сервера ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights

А нельзя ли на конкретном примере, что то я не понял, какое отношение это имеет к безопасности?
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990443
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел в виду visual totals с точки зрения security. Т.е. если пользователь видит только Гановер и Гамбург, то когда он смотрит на всю Германию, то результат есть сумма только Гановера и Гамбурга а не настоящая сумма. Это то что называется visual totals.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990504
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoshaЯ имел в виду visual totals с точки зрения security. Т.е. если пользователь видит только Гановер и Гамбург, то когда он смотрит на всю Германию, то результат есть сумма только Гановера и Гамбурга а не настоящая сумма. Это то что называется visual totals.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights

Ах это вы имели ввиду. Так это просто.

Если пользователю даны Ганновер и Гамбург, то он видит сумму Ганновер и Гамбург (в случае DC меры, DC для множества {Ганновер, Гамбург})
и Германию он не видит вообще ни при каком раскладе . Для него в измерении 0-й уровень начинается с Ганновер и Гамбург.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990518
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял - но это как-то радикально. А что если он может видеть всю Германию, но только некоторые города в России. Тоже измерение начнется с уровня Город ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990582
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoshaЯ понял - но это как-то радикально. А что если он может видеть всю Германию, но только некоторые города в России. Тоже измерение начнется с уровня Город ?

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights

Простому use case - простой ответ.

если ограничение стоит на многоуровневом измерении на элементы из нескольких уровней, то см. скриншот.


А вообще такие вещи лучше один раз самому пощупать, но это уже за пределами форума.
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990588
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догонку
...
Рейтинг: 0 / 0
Roles в виде матричной структуры
    #32990657
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь вопрос Вам, Моша.

Если в Юконе задан SCOPE, то что произойдет если внутри SCOPE в CM будет предпринята попытка выйти за пределы SCOPE, например с помощью .CurrentMember.Parent?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Roles в виде матричной структуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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