Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
В приложении есть генератор отчётов(Report Builder для Delphi), в нём пользователи могут менять SQL.
то, что там пропускаются штуки типа "drop table" - это полбеды. В конце концов можно не давать пользователю прав на такое. Но нельзя не давать прав на update. А с ним можно наделать делов не меньше:
Update price set old_price = 0

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

Есть конечно вариант прикрутить какой-нибудь "проверяльщик SQL строки на безопасность". Если таковые есть - тоже вариант. Подскажите. Понятно, что DROP, CREATE, UPDATE и DELETE я сам могу выпилить, а какие ещё засады могут встретиться?
5 июн 19, 22:23    [21902982]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
-2-
Member

Откуда:
Сообщений: 14850
Victor Cookin,

application roles
5 июн 19, 22:30    [21902986]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
-2-
Victor Cookin,

application roles


там одно. Делить нельзя (постановка новой версии в production - пара недель тестирования, постановка НОВОГО приложения - несколько лет...).
5 июн 19, 22:34    [21902987]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
Простой вариант:
create user ReportBuilder identified by ReportBuilder account unlock;
grant create session, select any table, alter session to ReportBuilder;

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


либо создать синонимы к нужным таблицам в схеме ReportBuilder
5 июн 19, 22:54    [21902995]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
andrey_anonymous,

кажется вариант. Попробую.
Но проще было бы a la
ALTER SESSION set READ_ONLY = true
5 июн 19, 23:01    [21903000]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
Есть
set transaction readonly
, но это до ближайшего TCL.
Как следствие - truncate пройдет :)
5 июн 19, 23:04    [21903001]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
andrey_anonymous
Есть
set transaction read only
, но это до ближайшего TCL.
Как следствие - truncate пройдет :)
5 июн 19, 23:05    [21903005]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
andrey_anonymous
до ближайшего TCL.


то есть после любого коммита это свойство пропадёт? или что?
5 июн 19, 23:11    [21903007]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 673
Victor Cookin,

любой DDL делает commit автоматически, дважды. перед командой и сразу после.
5 июн 19, 23:26    [21903014]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
кит северных морей,
DDL как раз пользователям не разрешены. Конечно, если сам Report builder не делает коммитов, то это решило бы проблему. Но сдаётся мне, что делает.
5 июн 19, 23:55    [21903026]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
Victor Cookin
там пропускаются штуки типа "drop table"

Victor Cookin
DDL как раз пользователям не разрешены.

"Все врут" (с)
6 июн 19, 00:10    [21903032]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
andrey_anonymous
"Все врут" (с)


Кто? Я сам DROP TABLE сделал из RB
6 июн 19, 00:12    [21903033]     Ответить | Цитировать Сообщить модератору
 Re: о безопасности давать пользователям править SQL  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
andrey_anonymous,
А, понял. Я - НЕ пользователь. Захожу как владелец схемы
6 июн 19, 00:14    [21903035]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить