Отбор прав на GRANT у владельца схемы

dmitryssen
Дата: 24.03.2011 12:48:33
Всем привет!

Подскажите, позволяет ли Oracle запретить пользователям предоставление доступа к своим же таблицам?

Т.е. нужно сделать, чтобы user1 не имел возможности грантовать доступ к user1.table1 пользователю user2.

Следовательно, только DBA могут предоставлять доступ к объектам в критичных схемах(вариант с хранением паролей от этих схем только у админов пока не срабатывает).

Oracle пишет "You can grant privileges on an object if you are the owner of the object". Но должны же быть какие-то варианты...
env
Дата: 24.03.2011 12:50:04
alter user LOOSER account lock
dmitryssen
Дата: 24.03.2011 13:05:12
мы то понимаем, что аккаунт аппликушный.
env
Дата: 24.03.2011 13:07:37
dmitryssen,

значит ошибка в архитектуре
Сергей Арсеньев
Дата: 24.03.2011 13:12:38
dmitryssen
мы то понимаем, что аккаунт аппликушный.

Как правильно заметил env залочить схему хранения.
Апликушному аккаунту не разрешать заводить своих объектов.
В триггере on logon подменять этому пользователю схему по умолчанию.
Отгрантовать пользователю приложения только те права на объекты схемы хранения, которые желаете.
Можно еще у пользователя приложения понасоздавать синонимов на схему хранения.

Не идеально, но почти прозрачно.
orawish
Дата: 24.03.2011 13:32:09
dmitryssen,

fgac посмотрите
dmitryssen
Дата: 24.03.2011 15:27:30
Спасибо. Попробую предложенные варианты.

P.S. Как всегда, одной командой все не ограничится...
borka66
Дата: 24.03.2011 15:39:12
Запретить GRANT конкретному юзеру невозможно, так как его можно дать не напрямую, а через роль.
Можно запретить любой GRANT.

create or replace trigger TRG_STOP_GRANT before GRANT on XXX.schema
begin
raise_application_error(-20000,'Nope, dude!');
end;
/