Задавайте вопросы, мы ответим
Вы не зашли.
Есть такие вопросы:
1 ) есть процедуры aProc, bProc, cProc. bProc и cProc запускаются в теле aProc. Чтобы корректно отработала aProc, нужно ли пользователю, который запустил aProc, прописывать явно права на bProc, cProc?
2) Если ответ на первое - да. Скажем пользователь может работать с aProc, но нет доступа к bProc, можно ли (и как ), прописать запуск bproc от опр. пользователя, отличного от текущего и применяется ли такой на практике?
Отредактированно nixon232 (14.07.2018 14:22:04)
Неактивен
Смотрите: при создании процедуры Вы указываете SQL SECURITY. В случае с SQL SECURITY DEFINER при проверке прав будут проверяться права для пользователя который создал процедуру (не того, который запускает). В случае с SQL SECURITY INVOKER — наоборот, будут проверяться права пользователя, который запускает процедуру.
Соответственно, ответы на вопросы:
1. Нужно, если в aProc указан SQL SECURITY INVOKER
2. Можно, но тогда нужно на aProc SQL SECURITY DEFINER (с DEFINER, который может запускать bProc), и выдать на aProc права непривилегированному пользователю.
https://dev.mysql.com/doc/refman/8.0/en … edure.html
Неактивен