проблема с системными привилегиями
-
29-09-2019 - |
Вопрос
У меня есть пользователь, например HR, которому была предоставлена очень мощная системная привилегия "ПРЕДОСТАВЛЯТЬ ЛЮБЫЕ ПРИВИЛЕГИИ"...Этот пользователь использовал эту привилегию и предоставил некоторые привилегии другим пользователям...Теперь я хочу отменить "ПРЕДОСТАВЛЕНИЕ ЛЮБЫХ ПРИВИЛЕГИЙ" от HR и также определите, какие привилегии и кому предоставил пользователь HR (я хочу отозвать у них эти привилегии).
Я знаю, что oracle сохраняет в метаданных только grantee и privilege, а не лицо, предоставляющее системные привилегии (в отличие от привилегий объекта)...
Если у вас есть какая-то идея, пожалуйста, ответьте..
Большое вам спасибо за предыдущее.
Решение
В представлении ALL_COL_PRIVS будет показано лицо, предоставляющее право В представлении ALL_TAB_PRIVS будет показано лицо, предоставляющее право В представлении TABLE_PRIVILEGES будет показано лицо, предоставляющее право
плюс их пользовательские версии..
Редактировать:
чтобы найти список привилегий объекта, предоставленных HR, используйте запрос, подобный этому:
select * from all_tab_privs where grantor = 'HR';
я не знаю способа проверить предоставление объектов системного уровня