|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Для тех кто не понял поясню. В 4.0 собираются внедрить возможность с какими правами выполнять PSQL модули. Варианта 2: SQL SECURITY DEFINER - с правами определяющего (владельца) + права модуля SQL SECURITY INVOKER - с правами вызывающего пользователя + права модуля По умолчанию будет SQL SECURITY INVOKER чтобы сохранять обратную совместимость. Эта фича во многих случаях поможет избежать утомительного процесса выдачи прав процедуре и т.д. Вот как это выглядит для процедур: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Сейчас это сделано для процедур, функций, триггеров и таблиц (потому что вычисляемые поля). Настала очередь пакетов. Роман предлагает вариант 3. Т.е. примерно так: Код: sql 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.
Напомню что процедуры и функции пакетов не обладают индивидуальными правами. Права можно дать только на пакет в целом и можно выдать права самому пакету. Поэтому мне ближе вариант 1. Т.е. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
А что думаете вы? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 19:50 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
небольшая опечатка имя процедуры забыл указать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Кстати никого не коробит что предложение SQL SECURITY идёт сразу за именем процедуры, но перед входными параметрами. По мне это немного уродует синтаксис. Я бы предпочёл что бы сиё предложение стояло последним перед AS ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 20:24 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
блин устал похоже я сегодня, ещё опечатку в предлагаемым мной варианте сделал Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 20:39 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Симонов ДенисКстати никого не коробит что предложение SQL SECURITY идёт сразу за именем процедуры, но перед входными параметрами. По мне это немного уродует синтаксис. Я бы предпочёл что бы сиё предложение стояло последним перед AS по стандарту вроде должно быть после списка параметров но перед телом процедуры/функции ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 20:42 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Согласен с первым вариантом, хотя можно предложить его модификацию, 4-ый вариант: SQL SECURITY указывается для всего пакета и возможно индивидуально для приватных функций. Ну и да, для процедур/функций SQL SECURITY как бы после аргументов и returns . Всёж таки имя и сигнатура должны быть вместе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 08:12 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Вот это: Код: sql 1.
выглядит как набор слов. Имхо, вот так лучше: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 09:23 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
CyberMax, надо смотреть стандарт. В стандарте with не предусматривается для указания контекста безопасности. Благо в случае процедур и функция я не одинок, hvlad и dimitr тоже не нравится место размещения предложения SQL SECURITY. Да и вроде как стандарт велит указывать после входных и выходных параметров, так что это будет переделано. А вот с пакетами сложнее. В стандарте такого чуда нету. Надо бы посмотреть что там у Oracle сделано на эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 10:28 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 15 июля 2016 г. 11:15:06: Симонов Денис> Надо бы посмотреть что там у Oracle сделано на эту тему. у Оракла можно танцевать весьма витиевато, в том числе грантовать роли процедурам/пакеджам, наследовать права и т.д. применительно к обсуждаемому вопросу, по умолчанию AUTHID DEFINER, но можно указать CURRENT_USER, что соответствует INVOKER rights. синтаксис примерно такой: Код: sql 1. 2. 3. 4. 5. 6.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 11:27 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Мимопроходящий, по поводу синтаксиса его удалось убедить. Что касается пакетов, то он тоже уже глянул в сторону Оракла. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 11:51 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
невнимательно причитал суть вопроса. применительно к пакеджам у Оракла AUTHID задаётся в спецификации (не в BODY): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 11:56 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Мимопроходящий, это понятно что в спецификации. Сейчас основной вопрос давать ли процедурам и функциям пакета ещё отдельно указывать SQL SECURITY. Если давать, то получается что-то такое: если у процедур/функций пакета указано собственное предложение SQL SECURITY, то оно перекрывает предложение указанное в спецификации пакета. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:07 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 15 июля 2016 г. 12:10:10: Симонов Денис> Сейчас основной вопрос давать ли процедурам и функциям пакета ещё отдельно указывать SQL SECURITY. фпясту!! во полымя!! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:11 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Мимопроходящий, солидарен. Ну если сделают, то не страшно, хотя будет ещё одно место где можно сломать мозг неофиту. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:21 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
следуя логике автора этого "выбрыка головного моцга", необходимо также срочно реализовать возможность альтерить отдельные(выборочные) процедуры пакеджа, не затрагивая всё тело. ибо! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:30 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Мимопроходящийнеобходимо также срочно реализовать возможность альтерить отдельные(выборочные) процедуры пакеджа, не затрагивая всё тело. Это ж какой квест с раздачей прав получится... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:38 |
|
SQL SECURITY для пакетов
|
|||
---|---|---|---|
#18+
Hello, Darkmaster! You wrote on 15 июля 2016 г. 12:43:38: Darkmaster> Это ж какой квест с раздачей прав получится...ректально-астральный! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 12:44 |
|
|
start [/forum/topic.php?fid=40&fpage=57&tid=1562072]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 449ms |
0 / 0 |