|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
Добрый день. Столкнулся с таким нелогичным на мой взгляд поведением oracle что для выполнение селекта с использованием VIew sys.DBA_ROLE_privs достаточно дать привилегии на выполнение селект из sys.DBA_ROLE_privs Однако использование DBA_ROLE_privs в вьюхе приводит к ORA- 01031. Воспроизводится просто. Создаю пустую роль Даю роли права на select from sys.DBA_ROLE_privs Под этой ролью Select * from sys.DBA_ROLE_privs работает. Создаю view create view v_DBA_ROLE_privs as Select * from sys.DBA_ROLE_privs; Даю роли права на v_DBA_ROLE_privs. Select * from v_DBA_ROLE_privs получаю ORA- 01031 insufficient privileges Если я дам роли права : Grant SELECT on ANY TABLE to MY_ROLE; то все заработает, но к сожалению такой подход не поймут наши безопасники. Кто ни будь может объяснить такое поведение? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 10:03 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 12:32 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
+ Restriction on Granting WITH GRANT OPTION You can specify WITH GRANT OPTION only when granting to a user or to PUBLIC, not when granting to a role. Что означает, что объектная привилегия должна быть выдана владельцу view напрямую, не через роль. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 12:46 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
sergiy_s Столкнулся с таким нелогичным на мой взгляд поведением oracle Чел дал тебе посмотреть свою коллекцию порнушки (приватной), а ты без разрешения украсил ее ленточкой и выставил в интернет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 12:54 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
Как бы не совсем понятно. Право делать Select из таблицы это объектная привелегия? A право делать селект из View? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 13:00 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
sergiy_s Право делать Select из таблицы это объектная привелегия? Да. A право делать селект из View? Да. Объекты разные. Один принадлежит тебе, а другой - нет, вот и вся разница. И для того, который тебе не принадлежит, ты должен обращаться за разрешением к владельцу, до тех пор, пока он не сказал тебе "сам давай разрешение кому хочешь". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 14:53 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
хорошо причина будем считать понятна. Как нужно организовать права доступа что бы в результате пользователь мог посмотреть результат через мою вюшку? Давать ему права на все таблицы как бы крайне не желательно. Пробовал дать право на sys.DBA_ROLE_privs лично пользователю не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 17:01 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
причина будем считать понятна Исходя из дальнейших вопросов - нет, не будем так считать. Давать ему права на все таблицы Такой задачи не стояло, речь о конкретной таблице/представлении (view). Пробовал дать право на sys.DBA_ROLE_privs лично пользователю не помогло. Как уже ясно (надеюсь) из вышесказанного, у User2 должно быть право на выборку из view User1, + разрешение на объекты, входящие во view, один из двух вариантов: 1. User1 имеет право на выдачу прав просмотра объектов во view, и выдает это право User2. Для этого нужна опция "grant option". 2. User2 получает право на просмотр объектов непосредственно от владельца объекта. Для понимания всегда рекомендуется сделать test case. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2020, 20:59 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров sergiy_s Столкнулся с таким нелогичным на мой взгляд поведением oracle Чел дал тебе посмотреть свою коллекцию порнушки (приватной), а ты без разрешения украсил ее ленточкой и выставил в интернет Но если ты скачал и может даже добавил свой watermark (от-pipeline-ил), то с точки зрения "безопасности" ничего не нарушено. Да это потребует дополнительных ресурсов. Но с точки зрения ограничения прав - эти ограничения обходибельны, если очень нужно. В свете всего многообразия новых плюшек, паранойя с grant option выглядит атавизмом. ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 07:00 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
Короче Что что бы все заработало нужно: Cхеме в которой находится View дать права на показ sys.DBA_ROLE_privs с grant options. Большое спасибо все стало яснее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 07:06 |
|
использование sys.DBA_ROLE_privs во View приводит к ошибке 01031 insufficient privileges
|
|||
---|---|---|---|
#18+
Elic (от-pipeline-ил) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 07:12 |
|
|
start [/forum/topic.php?fid=52&msg=39954960&tid=1881281]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
136ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 519ms |
0 / 0 |