Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов. / 25 сообщений из 106, страница 1 из 5
01.03.2006, 12:04
    #33573171
Аналитика+
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Существует несколько способов ограничения доступа к данным. Давайте откинем стандартные возможности СУДБ, таких как гранты Oracle и тому подобное. Поговорим о структуре БД, которая информацию о доступе пользователей системы к элементам системы хранит в себе, т.е. в своих таблицах. Рассмотрим так называемый "кумулятивный вариант", когда по умолчанию пользователю в системе ничего не доступно. Здесь я вижу сразу три подхода, и любое Ваше мнение о каждом из них хотелось бы услышать:
1. дача прав в разрезе пользователей
2. дача прав в разрезе ролей + назначение ролей пользователям
3. дача прав в разрезе групп пользователей + определение пользователя в группу
В процессе обсуждения я преследую цель получить ответ на вопрос:
Стоит ли изначально проектировать в системе все три подхода вкупе?
СПРАВКА:
В ИСУ ПАРУС присутствует схема 1+2
В ОС MS WINDOWS - схема 1+3
...
Рейтинг: 0 / 0
01.03.2006, 12:38
    #33573332
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Баян,копий много было сломано. Поищите по форуму с ключевыми словами "контроль доступа", "безопасность" и не разводите лишний раз флейм!Там и ссылок полно на разные модели, плюсы/минусы рассмотрены.
...
Рейтинг: 0 / 0
01.03.2006, 13:18
    #33573537
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Три не стоит. Варианты 2 и 3 отличаются только заменой группа на роль.
...
Рейтинг: 0 / 0
01.03.2006, 13:52
    #33573665
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
> 2. дача прав в разрезе ролей + назначение ролей пользователям
> 3. дача прав в разрезе групп пользователей + определение пользователя

Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль.

> Стоит ли изначально проектировать в системе все три подхода вкупе?

Возьмите нормальную файловую систему (например, ext2 или reiserfs) и посмотрите, как в ней организовано ограничение доступа. Или - что правильнее, но сложнее - посмотрите, как организована SELinux: пожалуй, это наиболее разумная реализация ограничения доступа из существующих.
...
Рейтинг: 0 / 0
01.03.2006, 14:32
    #33573859
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Аналитика+Существует несколько способов ограничения доступа к данным
доступ надо давать не к данным а к функциям системы а это совсем другая песня
...
Рейтинг: 0 / 0
01.03.2006, 15:58
    #33574384
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
моддоступ надо давать не к данным а к функциям системы
Доступ надо ограничивать и к данным и к функциям системы.
...
Рейтинг: 0 / 0
01.03.2006, 15:58
    #33574387
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Да иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Меньше лозунгов-больше дела.
...
Рейтинг: 0 / 0
01.03.2006, 16:00
    #33574399
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
ShtockГде тут функция?
Если обобщать, доступ к функции есть частный случай доступа к данным (недоступность функции == пустое множество данных, для которых она доступна). Но такое обобщение представляется мне непрактичным; неудобным ни для рассуждений, ни для реализации.
...
Рейтинг: 0 / 0
01.03.2006, 16:17
    #33574470
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Полностью с Вами,softwarer,согласен.Просто тема изначально флеймовая.
...
Рейтинг: 0 / 0
01.03.2006, 16:20
    #33574481
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Shtock У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Смотреть ? Получать отчет ? Вводить новых ? удалять ? увольнять ?
Где тут данные ? (и где словоблудие)
...
Рейтинг: 0 / 0
01.03.2006, 16:38
    #33574574
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Аналитика+Существует несколько способов ограничения доступа к данным. ....

маленькое замечанице...
распределение прав доступа в клиент-серверных....
и органичение доступа к данным...

это разные весчи...
в клиент-серверных системах права доступа разделяються на...

права ядра..
права коннекшенна..
права некой учётной записи...

про БД - это от лукавого...или по другому - это частный случай...

с уважением
(круглый)
...
Рейтинг: 0 / 0
02.03.2006, 06:18
    #33575487
Sublime
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
guest_20040621
> 2. дача прав в разрезе ролей + назначение ролей пользователям
> 3. дача прав в разрезе групп пользователей + определение пользователя

Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль.


Есть некоторое преимущество реализации пунктов 1,2,3 вкупе. Если деятельность некоторой группы пользователей характеризуется набором ролей, то при реализации назначения ролей группе мы получаем преимущества при администрировании такой системы.
...
Рейтинг: 0 / 0
02.03.2006, 08:39
    #33575609
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
> Есть некоторое преимущество реализации пунктов 1,2,3 вкупе.

Никаких, кроме дополнительного геморроя. Для любого объединения пользователей могут быть заданы любые дополнительные признаки.
...
Рейтинг: 0 / 0
02.03.2006, 08:54
    #33575627
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
SublimeЕсть некоторое преимущество реализации пунктов 1,2,3 вкупе.....
Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора.
...
Рейтинг: 0 / 0
02.03.2006, 08:59
    #33575639
Sublime
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
softwarer
Это преимущество называется "включение одной роли в другую роль".


Сам понял что сказал? Роль нельзя включать в другую роль. Никоим образом!
...
Рейтинг: 0 / 0
02.03.2006, 09:03
    #33575649
Sublime
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
guest_20040621> Для любого объединения пользователей могут быть заданы любые дополнительные признаки.
Кино и немцы. Для объединения пользователей я знаю только одно понятие - "Группа пользователей". Все ваши "дополнительные признаки" - ни что иное как попытка замаскироать группировку.
...
Рейтинг: 0 / 0
02.03.2006, 09:34
    #33575708
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
SublimeСам понял что сказал?
Понял. И тебе того же желаю.

SublimeРоль нельзя включать в другую роль. Никоим образом!
Жаль, что ведущие вендоры придерживаются противоположного мнения. А так да, конечно, получается очень здорово - сначала придумываем группы, чтобы грантовать им роли, потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?) и так далее, пока слов хватает.

Sublime Для объединения пользователей я знаю только одно понятие - "Группа пользователей"
Ну вот и добрались до истока.
...
Рейтинг: 0 / 0
02.03.2006, 09:45
    #33575752
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Роль и группа это одно и то же. При этом роли могут иметь иерархию со всеми вытекающими.
...
Рейтинг: 0 / 0
02.03.2006, 09:52
    #33575781
Sublime
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
softwarer...потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?)...

Группы в отличие от ролей могут иметь иерархическую структуру.
...
Рейтинг: 0 / 0
02.03.2006, 10:04
    #33575820
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
> я знаю только одно понятие - "Группа пользователей"

Хм... больше читайте, - Вы и представить себе не можете, сколько всего Вы не знаете. ;))

> Все ваши "дополнительные признаки" - ни что иное как попытка
> замаскироать группировку.

Мои (если Вы настаиваете) дополнительные признаки (включая множественную иерархию, роли _внутри_ групп и пр. хрень) - это удобная, логичная и простая организация пользователей. Это _не синоним_ группировки.
...
Рейтинг: 0 / 0
02.03.2006, 10:06
    #33575829
UK0IAI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
ShtockДа иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Меньше лозунгов-больше дела.

Почему нет?. Начальник отдела делегировал право вести табель своему подчиненому. В отделе две (много) подгрупп. Табельщик "не видит" всего списка сотрудников - ибо он где то ниже по иерархии подчинения.

Нужна Бизнес-функция - открыть доступ ко всему (части ) списка.

При этом, легко ВКЛЮЧИТЬ или ВЫКЛЮЧИТЬ "Просмотр данных о сотрудниках своего уровня".

Вот моя любимая схема:

Юзер, Группа Юзеров, Бизнес-функция.
Бизнес-функция имеет (роли БД, ресурсы (строки БД) + коллекции элементов интерфейса...(типа виден-не виден)).

Юзер в итоге получает свои БФ, и через них - уровни доступа к системе.
Юзер это "имеет" по разному = наследуя от Группы или путем прямого назначений.

А при в ходе в систему, юзер никаких прав не имеет.

Каждая Прога имеет "Первую Строку Программного кода", где проверяются привелегии. Если false - Прога САМА прерывает работу.
...
Рейтинг: 0 / 0
02.03.2006, 11:13
    #33576108
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
SublimeГруппы в отличие от ролей могут иметь иерархическую структуру.
То есть до полного идиотизма опускаться не приходится, и то хорошо.

Теперь тебе осталось понять, что слово "роль" ты понимаешь существенно по-особому, отлично от минимум троих твоих собеседников, и постулируемое тобой "в отличие" мягко говоря неубедительно.
...
Рейтинг: 0 / 0
02.03.2006, 11:22
    #33576147
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
UK0IAIЮзер в итоге получает свои БФ, и через них - уровни доступа к системе.
При рассуждении только через функции становится неудобным опираться на перечислимые справочники. Допустим, скажем, секретать отдела имеет право заказывать кофе для отдела - хорошо, описывается через функцию "заказать кофе для своего отдела". Можно сделать функцию "заказ кофе для любого отдела" - опять же все хорошо. Но допустим, у отдела нет секретарши, и решили что за кофе они должны обращаться к секретарше соседнего отдела. В этом случае придется делать функцию "заказ кофе для отдела номер четыре", потом - "заказ кофе для отдела номер восемь" и так далее.

Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные.
...
Рейтинг: 0 / 0
02.03.2006, 12:09
    #33576399
Sublime
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
softwarer
Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора.

Вы мне пытаетесь доказать, что иерархическая структура ролей есть ни что иное как назначение ролей группе. Позвольте реплику. Схема роль+группа дает возможность включения одной роли в несколько групп. Ваш же подход исключает такую ситуацию. Упс! Жду ваших комментариев.
...
Рейтинг: 0 / 0
02.03.2006, 12:16
    #33576438
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
softwarer
Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные.
Совершенно верно. Доступ к функциям сопровождается ограничениями на доступ к данным, необходимым для выполнения данной функции.
На самом деле все очень не просто :)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов. / 25 сообщений из 106, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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