powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / о безопасности давать пользователям править SQL
13 сообщений из 13, страница 1 из 1
о безопасности давать пользователям править SQL
    #39823112
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приложении есть генератор отчётов(Report Builder для Delphi), в нём пользователи могут менять SQL.
то, что там пропускаются штуки типа "drop table" - это полбеды. В конце концов можно не давать пользователю прав на такое. Но нельзя не давать прав на update. А с ним можно наделать делов не меньше:
Код: sql
1.
Update price set old_price = 0


Как бы запретить пользователю в определённых режимах делать что-то кроме SELECT, в рамках его привилегий?

Есть конечно вариант прикрутить какой-нибудь "проверяльщик SQL строки на безопасность". Если таковые есть - тоже вариант. Подскажите. Понятно, что DROP, CREATE, UPDATE и DELETE я сам могу выпилить, а какие ещё засады могут встретиться?
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823115
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin,

application roles
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823116
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Victor Cookin,

application roles

там одно. Делить нельзя (постановка новой версии в production - пара недель тестирования, постановка НОВОГО приложения - несколько лет...).
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823121
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой вариант:
Код: plsql
1.
2.
create user ReportBuilder identified by ReportBuilder account unlock;
grant create session, select any table, alter session to ReportBuilder;


Репортер подключать отдельным коннектом под новой схемой.
Далее, чтобы не переписывать отчеты, можно либо при подключении
Код: plsql
1.
alter session set current_schema=<схема с таблицами>; -- можно в after logon триггере



либо создать синонимы к нужным таблицам в схеме ReportBuilder
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823124
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

кажется вариант. Попробую.
Но проще было бы a la
Код: plsql
1.
ALTER SESSION set READ_ONLY = true
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823126
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть
Код: plsql
1.
set transaction readonly

, но это до ближайшего TCL.
Как следствие - truncate пройдет :)
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823130
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЕсть
Код: plsql
1.
set transaction read only

, но это до ближайшего TCL.
Как следствие - truncate пройдет :)
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823132
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousдо ближайшего TCL.


то есть после любого коммита это свойство пропадёт? или что?
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823137
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin,

любой DDL делает commit автоматически, дважды. перед командой и сразу после.
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823145
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,
DDL как раз пользователям не разрешены. Конечно, если сам Report builder не делает коммитов, то это решило бы проблему. Но сдаётся мне, что делает.
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823150
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin там пропускаются штуки типа "drop table"
Victor CookinDDL как раз пользователям не разрешены.
"Все врут" (с)
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823151
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous"Все врут" (с)

Кто? Я сам DROP TABLE сделал из RB
...
Рейтинг: 0 / 0
о безопасности давать пользователям править SQL
    #39823153
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
А, понял. Я - НЕ пользователь. Захожу как владелец схемы
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / о безопасности давать пользователям править SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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