Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Роли ORACLE


Автор: Vas 28.11.2006, 11:08
Уважаемые гуру! Подскажите пожалуйста, если есть пользователь, в его схеме или не в его не важно, есть очень много таблиц пусть тысяча.
Как по простому запретить ему редактирование трех таблиц из всех, не уж то надо всем таблицам прописывать гранты типа
Код

grant select on Table to user;
grant insert on Table to user;

у пользователя стоит select any table и так далее. Если я пропишу select только для нужных таблиц, перекроют ли они привилегию insert any table?

Автор: ols 28.11.2006, 11:31
Хех smile вспоминается религиозная война как раз на эту тему правда на другом форуме smile ссылки на другие форумы давать можно? 
Как раз про запрещающие гранты smile 
Имхо это не нужно! 
Дать на кучу таблиц гранты за исключением пары штук можно простым скриптом наподобие: 
Код

begin
  for i in (select owner, table_name from dba_tables where owner = ... and table_name not in (...)) 
  loop
    execute immediate 'grant select, insert, delete, update on '||i.owner||'.'||i.table_name||' to user';
  end loop;
end;
/


удачи

Автор: LSD 28.11.2006, 12:30
Цитата(Vas @  28.11.2006,  11:08 Найти цитируемый пост)
в его схеме или не в его не важно

Это как раз важно!
Цитата
The REVOKE statement can revoke only privileges and roles that were previously granted directly with a GRANT statement. You cannot use this statement to revoke:
  • Privileges or roles not granted to the revokee
  • Roles or object privileges granted through the operating system
  • Privileges or roles granted to the revokee through roles

Отобрать у пользователя права на его собственные объекты нельзя.

Автор: Vas 28.11.2006, 16:48
LSD, спасибо, хорошее замечание  smile 

Автор: 3x3 1.12.2006, 03:48
Цитата(Vas @ 28.11.2006,  16:48)
LSD, спасибо, хорошее замечание  smile

Вынесите объекты в другую схему, а этим подонкам - вьюхи грант на селект только.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)