|
|
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
задача на самом деле на собственный интерес, давно спрашивали, я не нашла как сделать, а сейчас появилась свободная минутка, захотелось разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:01:04 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Ozornitca1) селект из трех таблиц, две из которых находятся в схеме с владельцем IBS (user и state) и одна IBS_OTCH в схеме с владельцем AUD, в которую селект обращается со схемы IBS через синоним OBJECT_STATE_HISTORY (отсюда было сообщение про owner IBS, тк овнер синонима IBS) 2) доступ нужен только на select , на все строки 3) в селекте обращаются не к самой таблице. которая в схеме с другим владельцем, а через синоним на все вопросы ответила ? я правда пока не разбираюсь в доступе oracle, буду благодарна за терпение и понимание :) Ок, продолжаем формулировать задачу. Имеем три таблицы: IBS.USER IBS.STATE AUD.IBS_OSH Требуется ограничить доступ к этим таблицам - разрешить только select ко всем строкам. Кому следует разрешить доступ? - Конкретному пользователю oracle? - Конкретному приложению , работающему от имени пользователя Oracle (какого? IBS?) - Кому-то еще? Когда будете отвечать на эти вопросы, подумайте - как данные попадают в эти таблицы и как повлияет на работу системы запрет их модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:01:05 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousOzornitca1) селект из трех таблиц, две из которых находятся в схеме с владельцем IBS (user и state) и одна IBS_OTCH в схеме с владельцем AUD, в которую селект обращается со схемы IBS через синоним OBJECT_STATE_HISTORY (отсюда было сообщение про owner IBS, тк овнер синонима IBS) 2) доступ нужен только на select , на все строки 3) в селекте обращаются не к самой таблице. которая в схеме с другим владельцем, а через синоним на все вопросы ответила ? я правда пока не разбираюсь в доступе oracle, буду благодарна за терпение и понимание :) Ок, продолжаем формулировать задачу. Имеем три таблицы: IBS.USER IBS.STATE AUD.IBS_OSH Требуется ограничить доступ к этим таблицам - разрешить только select ко всем строкам. Кому следует разрешить доступ? - Конкретному пользователю oracle? - Конкретному приложению , работающему от имени пользователя Oracle (какого? IBS?) - Кому-то еще? Когда будете отвечать на эти вопросы, подумайте - как данные попадают в эти таблицы и как повлияет на работу системы запрет их модификации. 1) требуется ограничить доступ только к таблице AUD.IBS_OSH на селект 2) конкретному пользователю oracle (для примера взяла пользователя своего- IT) 3) по последнему абзацу - конкретному пользователю запрет только на селект, пользователь не является тем, кто в принципе может что-то записывать в базу, он просмотровый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:03:44 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
OzornitcaFogelв вашем случае из-под пользователя AUD (или привиллегированного, например из группы DBA) Код: plsql 1. выполнила команду под sysdba revoke select on AUD.IBS_OSH from IT; результат: ORA-01927: нельзя изъять привилегии, т.к. Вы не имеете на это права уже понятней. у вас нет прав для IT, поэтому и забрать их вы не можете - нечего забирать. у вас права для IBS, вот у него и надо их забирать. а пользователь IT имеет права на объекты IBS. тогда так попробуйте (если у вас не на ролях всё настроено): из-под IBS (или sysdba) Код: plsql 1. 2. 3. 4. 5. и так для каждой таблицы IBS, которая нужна для IT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:05:29 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Ozornitcaтребуется ограничить доступ только к таблице AUD.IBS_OSH на селект 2) конкретному пользователю oracle (для примера взяла пользователя своего- IT) ОК. Это уже конкретный вопрос. Для начала посмотрим кто что может делать с таблицей aud.ibs_osh: Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:06:42 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousOzornitcaтребуется ограничить доступ только к таблице AUD.IBS_OSH на селект 2) конкретному пользователю oracle (для примера взяла пользователя своего- IT) ОК. Это уже конкретный вопрос. Для начала посмотрим кто что может делать с таблицей aud.ibs_osh: Код: plsql 1. 2. GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY 1 IBS_USER AUD IBS_OSH IBS SELECT NO NO 2 IBS_ADMIN AUD IBS_OSH IBS SELECT NO NO 3 IBS_UADMIN AUD IBS_OSH IBS SELECT NO NO 4 IBS AUD IBS_OSH AUD SELECT YES NO как тут красиво отформатировать , понятно в таком виде ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:17:52 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, это результат запроса в вашем сообщении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:25:38 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Ozornitca GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY 1 IBS_USER AUD IBS_OSH IBS SELECT NO NO 2 IBS_ADMIN AUD IBS_OSH IBS SELECT NO NO 3 IBS_UADMIN AUD IBS_OSH IBS SELECT NO NO 4 IBS AUD IBS_OSH AUD SELECT YES NO Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:33:25 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
вот этот набор в колонке (первые 3 строки) у вас Код: plsql 1. 2. 3. 4. 5. похож на роли Роли в свою очередь выдаются пользователям. Последняя строка говорит о том, что пользователь AUD выдал права пользователю IBS а тот в свою очередь выдал права на эту же таблицу 3 ролям. Запрос Код: plsql 1. 2. покажет в колонке grantee кому выданы эти роли. Роли могут быть вложенными. Т.е. если в grantee не будет вашего пользователя IT, значит нужно взять рекурсию (то есть взять полученный список из grantee и снова подставить его в granted_role), пока не найдёте IT. Подозреваю, что это роль IBS_USER. Соответственно, для отбора прав нужно будет отобрать конечную роль, выданную IT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:36:43 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
FogelСоответственно, для отбора прав нужно будет отобрать конечную роль, выданную IT. Уважаемый коллега, если я ничего не путаю, то ТС желает оставить пользователю IT только select. Insert, update, delete, reference - отобрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:40:31 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousOzornitca GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY 1 IBS_USER AUD IBS_OSH IBS SELECT NO NO 2 IBS_ADMIN AUD IBS_OSH IBS SELECT NO NO 3 IBS_UADMIN AUD IBS_OSH IBS SELECT NO NO 4 IBS AUD IBS_OSH AUD SELECT YES NO Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. GRANTEE PRIVILEGE ADMIN_OPTION 1 IT SELECT ANY TABLE NO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:44:50 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousFogelСоответственно, для отбора прав нужно будет отобрать конечную роль, выданную IT. Уважаемый коллега, если я ничего не путаю, то ТС желает оставить пользователю IT только select. Insert, update, delete, reference - отобрать. а чего их отбирать, если они и так не выданы )) права на этот объект только на select (поле privilege - пояснение для Озорницы) мне показалось, что нужно забрать все права на эту таблицу у конкретного пользователя. если оставить только select, то можно ничего не делать. Уважаемый Андрей, извините, что влез, не буду мешать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:47:38 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Ozornitca GRANTEE PRIVILEGE ADMIN_OPTION 1 IT SELECT ANY TABLE NO А теперь покажите, что IT может выполнить dml (insert, update или delete) на таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:49:07 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Fogel, ваш запрос не получилось выполнить, табличка dba_roles_privs - неправильное имя видно есть role_TAB_PRIVS, но там нет granted_role ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:50:08 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
OzornitcaSELECT ANY TABLE я сразу про это и написал ;) но Андрей более продуктивно подошёл, чтобы у вас сложилось понимание, как и что происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:50:58 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, а выше вроде коллега написал , что в поле привилег видно, что права только на селект ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:51:54 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Foge а нужно. чтобы не было прав и на селект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:52:49 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
а роль распространена на всех, не только на IT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:54:45 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
OzornitcaFogel, ваш запрос не получилось выполнить, табличка dba_roles_privs - неправильное имя видно есть role_TAB_PRIVS, но там нет granted_role правильное Код: plsql 1. role_TAB_PRIVS - тоже полезное представление, посмотрите ваши роли там: увидите весь спектр привилегий для каждой роли, а не только для одной таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 17:55:54 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
FogelOzornitcaFogel, ваш запрос не получилось выполнить, табличка dba_roles_privs - неправильное имя видно есть role_TAB_PRIVS, но там нет granted_role правильное Код: plsql 1. role_TAB_PRIVS - тоже полезное представление, посмотрите ваши роли там: увидите весь спектр привилегий для каждой роли, а не только для одной таблицы все равно пишет, что таблица не существует делаю под sys ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:00:03 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Fogel, sys.dba_role_privs, не roles, а role :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:14:48 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Fogel, там вышло много много пользователей, в том числе и IT, и всем назначена роль IBS_USER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:15:59 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
можно ли теперь как-то отобрать только у пользователя IT доступ на селект на таблицу IBS_OSH? если он включен в роль IBS_USER (которая содержить привилегию на селект), в которой куча пользователей кроме него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:24:41 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
Ozornitcaникто не работает под IBS, каждый пользователь работает под своим пользоватлеем в системеотошло бы ты от "системы", пока ничего не сломало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:26:26 |
|
||
|
работа с снинонимами
|
|||
|---|---|---|---|
|
#18+
-2-Ozornitcaникто не работает под IBS, каждый пользователь работает под своим пользоватлеем в системеотошло бы ты от "системы", пока ничего не сломало. еще раз (заметьте, довольно вежливо) отойти от темы, если вы не можете соблюдать элементарно правила уважительности не беспокойтесь, есть более опытные коллеги, которые лишних доступов мне не дадут, все эксперименты на тесте. и ничто не дает вам права обращаться к незнакомому вам человеку в среднем роде. Я -то всему научусь и со всем разберусь, а вот научитесь ли вы адекватно себя вести - это вопрос.. который меня, впрочем, волнует мало есть сообщения по теме- буду невероятно признательна, есть только непонятные наезды и неуважительное отношение- у меня для вас всегда открыта дверь.. ВЫХОДИТЕ хорошего настроения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 18:30:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39239379&tid=1887609]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 482ms |

| 0 / 0 |
