powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / безопастность
10 сообщений из 10, страница 1 из 1
безопастность
    #32058864
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хватить мусолить вопрос оптимизации запроса с group by!

Хотелось бы услышать критику или узнать Ваше мнение по поводу решение задачи безопастности. Прийдеться потратить время, чтобы вникнуть, но если не жалко то читайте:

Разработка клиент-сервер приложения.
Доступ к функциям клиентского приложения раздает админ (чекбоксами) – группам пользователей.

Пример:
Группа пользователей№1:

Справочник №1
Просмотр (Да)
Изменение (Нет)
Добавление (Да)
Удаление (Нет)

Функция №5
Выполнение (Да)

Каждый справочник имеет набор таблиц, с помощью которых он реализован, функции тоже (не мне Вас учить).

Задача заключается в том, чтобы приложением админа делать ограничения на интерфейс пользователя и одновременно на доступ пользователей к таблицам и процедурам на уровне СУБД ( дабы не было поползновений SQLPlus и т.д.). Таблиц порядка 100, групп пользователей – пусть будет 50. Руками править роли никто не собираеться.

Решение было следующее:
Группы пользователей –это роли СУБД (group1, …, к примеру).
Каждому действию, к примеру: Просмотр Справочника№1 – соответствует роль СУБД, так назовем роль минимальная. R1.
Админ в приложении, назначая функции клиентского приложения, одновременно выполняет гранты минимальных ролей – ролям групп пользователей.

group1 состоит из R1, R2 …..

Недостаток, с которым неприятно работать это :
Возникает огромное множество минимальных ролей (к примеру 100 таблиц * 4 действия=400 ролей).
Но с ним можно смириться, ведь задача решаеться.

Жду, Ваших мнений!!!
...
Рейтинг: 0 / 0
безопастность
    #32058882
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как насчёт пакета dbms_rls ?
...
Рейтинг: 0 / 0
безопастность
    #32058906
DiMonstr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не проще делать роли которые соответствуют определенному Бизнесс процессу.
rl_salary - работа с зп
rl_salary_ex - расширенная работа с зп, скажем, только руководству.
rl_cash - кассир
...
может я чего-то недопонимаю, но обычно этого достаточно.
...
Рейтинг: 0 / 0
безопастность
    #32058915
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и не все так хорошо!
Рассмотрим ситуацию:
Пользователь №1 имеет доступ к справочнику№1 для добавления. Справочник №1 опирается на физическую таблицу1 и таблицу2. Соответственно минимальной ролью ограничение таб№1 инсерт и таб№2 селект (К примеру).
Этот же пользователь имеет доступ к справочнику№2, который опирается только на таб№2 - минимальная роль таб№2 селект.
К примеру админ удаляет теперь вторую роль. Но по первой у пользователя справочник №1 откроеться. Я думаю, что такое действие с dbms_rls описать будет гораздо сложнее. Хотя и возможно.
Спасибо.
Еще предложения есть?
...
Рейтинг: 0 / 0
безопастность
    #32058923
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DiMonstr-у
Этого явно мало (недостаточно). Скажем каждый бухгалтер может быть настроен по разному. Одному разрешено править план счетов, другому нет. Одному можно добавить контрагента, другому нет, и т.д. всего очень много, поверь. Предприятие большое.
...
Рейтинг: 0 / 0
безопастность
    #32058929
Trampler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так ли необходимы минимальные роли? Может ограничиться необольшими, но составными?
...
Рейтинг: 0 / 0
безопастность
    #32058947
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все правильно. Минимальная роль и есть составная, и определяет возможность обращения к нескольким таблицам, которые необходимо для того чтобы обратиться к справочнику ( в понимании пользователя) или имеется в виду очень большие (минимальные роли) :)
...
Рейтинг: 0 / 0
безопастность
    #32059123
Trampler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда предложение отпадает,
однако по фразе
100 таблиц * 4 действия=400 ролей
можно было подумать что именно эти роли и будут минимальными, что как-то странно :)

"Штирлиц знал: всегда запоминаются только последние слова" ;)))
...
Рейтинг: 0 / 0
безопастность
    #32059182
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, минимальных конечно не 400, но тоже порядочно.
Я понял, что и критики особой нет и предложений собственно тоже. Ну что же, спасибо.
Ну если че - заходите :-)
...
Рейтинг: 0 / 0
безопастность
    #32059342
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё раз советую использовать пакет dbms_rls. создайте таблицы в которых будут храниться права доступа, и пусть ваша политика динамически из них генерит функцию.
В таком случае (а это проеврено на практике), достаточно формочки, пары таблиц и пакета строк всего 200, чтобы обеспечить очень мощные настройки доступа пользователей
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / безопастность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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