когда я создаю функцию без определения прав доступа все пользователи получают к ней доступ на execute так во всяком случае говорит функция has_function_privilege и эксперименты по использованию. (Зачем мое динамическое API отслеживает доступность и сообщает пользователю его набор полномочий) Если я начинаю рулить правами то после первого применения вижу что кроме назначенных мной прав есть доступ через PUBLIC. В итоге мне приходится назначать права а затем выгонять Павлика. Вопрос это можно сделать как то проще (что бы павлик не мешал). Вопрос два на старом движке MS SQL я мог не давать права на таблицы так как наличие доступа к процедуре обеспечивало доступ ко всем используемым ей ресурсам я правильно понимаю что в слоне такой вариант не прокатит?
Нашел такую штуку, мало ли кому интересно будет: ALTER DEFAULT PRIVILEGES — определить права доступа по умолчанию Позволяет настраивать права для вновь создаваемых объектов БД В моем случае убрать PUBLIC для новых функций созданных в моей роли будет так: ALTER DEFAULT PRIVILEGES FOR ROLE myrole REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC; ЗЫ: не входит в стандарт SQL.
Обсуждают сегодня