powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DYNAMIC SQL & права юзера
4 сообщений из 4, страница 1 из 1
DYNAMIC SQL & права юзера
    #32026126
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сталкнулся с такой вещью:
если некий юзер пытается делать в схеме нечто, что ему недозволено - Оракл это отслеживает и ругается. Но если юзер запускает некую процедуру (которую ему разрешено запускать),
типа:

sheme.some_procedure()

где:

some_procedure
is
begin
EXECUTE IMMEDIATE 'some_DML/DDL';
end;

то в этом случае все проскакивает со свистом для любых объектов из схемы - т.е. в 'some_DML/DDL' можно засунуть что угодно и все работает откровенно плюя на права и привилегии, в частности, можно самому себе!!! награнтить админских прав!!! на всю схему! .
Опытным путем удалось установить, что выражение 'some_DML/DDL' отрабатывает с правами владельца схемы.

Разъясните мне плиз - так и должно быть или как? Где тут подвох?
...
Рейтинг: 0 / 0
DYNAMIC SQL & права юзера
    #32026142
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В оракле все пакетные и "одинокие" процедуры и функции выполняются под правами создателя - владельца схемы, так быть должно - это одна из основ безопасности. А что касается "можно самому себе!!! награнтить админских прав!!! на всю схему!", то НЕФИГА создавать логику приложения под схемой SYS или SYSTEM - это другая из основ безопасности.
Создаешь пользователя-владельца схемы логики приложения, ограничиваешь его необходимыми правами, не пишешь всякой ерунды типа "execute immediate 'grant select...'" в теле процедур и функций (для выполнения таких вещей есть админ БД), и все.
Если ты дал пользователю право на исполнение своих процедур, значит ты знаешь, что он тебе не нагадит. А если гадит, то сам виноват.
...
Рейтинг: 0 / 0
DYNAMIC SQL & права юзера
    #32026174
Victor Kolesnikow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... но есть и возможность создать функции... пакеты чтобы запускались с правами вызывающего пользователя.. пример
CREATE OR REPLACE Package KOM_SECURITY AUTHID CURRENT_USER
IS итд ^^^^^^^^^^^^^^^^^^^
...
Рейтинг: 0 / 0
DYNAMIC SQL & права юзера
    #32026194
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2_VVP_ Никто и не создавал логики приложения под SYSTEM, чего так нервничать-то сразу. В моей схеме и так прав поминимуму и за пределы моей схемы юзер не вылезет, но ВСЯ моя схема для юзера - это многовато, а получить на нее права потенциальная возможность есть.
>>не пишешь всякой ерунды типа "execute immediate 'grant select...'" в теле процедур и функций (для выполнения таких вещей есть админ БД), и все.
- мда? интересно, я если я пишу софт как раз для админа, тогда как? И потом - я думаю execute immediate разработчики oracle придумали вовсе не для того , чтобы Вы при случае могли с гордостью сказать "Нефиг всякую ерунду писать", а для чего-то иного, да?

2Viktor - спасибо за конкретный ответ. Разобрался....

ЗЫ Вот ведь интересно - дюжина больших спецов сказали "нефига всякую дрянь юзать", а толковый ответ - только от одного услышал
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DYNAMIC SQL & права юзера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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