|
DYNAMIC SQL & права юзера
|
|||
---|---|---|---|
#18+
Сталкнулся с такой вещью: если некий юзер пытается делать в схеме нечто, что ему недозволено - Оракл это отслеживает и ругается. Но если юзер запускает некую процедуру (которую ему разрешено запускать), типа: sheme.some_procedure() где: some_procedure is begin EXECUTE IMMEDIATE 'some_DML/DDL'; end; то в этом случае все проскакивает со свистом для любых объектов из схемы - т.е. в 'some_DML/DDL' можно засунуть что угодно и все работает откровенно плюя на права и привилегии, в частности, можно самому себе!!! награнтить админских прав!!! на всю схему! . Опытным путем удалось установить, что выражение 'some_DML/DDL' отрабатывает с правами владельца схемы. Разъясните мне плиз - так и должно быть или как? Где тут подвох? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2002, 12:04 |
|
DYNAMIC SQL & права юзера
|
|||
---|---|---|---|
#18+
В оракле все пакетные и "одинокие" процедуры и функции выполняются под правами создателя - владельца схемы, так быть должно - это одна из основ безопасности. А что касается "можно самому себе!!! награнтить админских прав!!! на всю схему!", то НЕФИГА создавать логику приложения под схемой SYS или SYSTEM - это другая из основ безопасности. Создаешь пользователя-владельца схемы логики приложения, ограничиваешь его необходимыми правами, не пишешь всякой ерунды типа "execute immediate 'grant select...'" в теле процедур и функций (для выполнения таких вещей есть админ БД), и все. Если ты дал пользователю право на исполнение своих процедур, значит ты знаешь, что он тебе не нагадит. А если гадит, то сам виноват. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2002, 16:46 |
|
DYNAMIC SQL & права юзера
|
|||
---|---|---|---|
#18+
... но есть и возможность создать функции... пакеты чтобы запускались с правами вызывающего пользователя.. пример CREATE OR REPLACE Package KOM_SECURITY AUTHID CURRENT_USER IS итд ^^^^^^^^^^^^^^^^^^^ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2002, 07:29 |
|
DYNAMIC SQL & права юзера
|
|||
---|---|---|---|
#18+
2_VVP_ Никто и не создавал логики приложения под SYSTEM, чего так нервничать-то сразу. В моей схеме и так прав поминимуму и за пределы моей схемы юзер не вылезет, но ВСЯ моя схема для юзера - это многовато, а получить на нее права потенциальная возможность есть. >>не пишешь всякой ерунды типа "execute immediate 'grant select...'" в теле процедур и функций (для выполнения таких вещей есть админ БД), и все. - мда? интересно, я если я пишу софт как раз для админа, тогда как? И потом - я думаю execute immediate разработчики oracle придумали вовсе не для того , чтобы Вы при случае могли с гордостью сказать "Нефиг всякую ерунду писать", а для чего-то иного, да? 2Viktor - спасибо за конкретный ответ. Разобрался.... ЗЫ Вот ведь интересно - дюжина больших спецов сказали "нефига всякую дрянь юзать", а толковый ответ - только от одного услышал ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2002, 08:58 |
|
|
start [/forum/topic.php?fid=52&fpage=2849&tid=1993408]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 286ms |
total: | 415ms |
0 / 0 |