Нужно закрыть бизнес-логику

Здравствуйте.
Есть вопрос по слонику.
Очень напрягает нехватка фичи.
Нужно запретить пользователю просматривать DDL объектов
в общем и тела функций в частности Если только он не владелец
объектов. Это хоть как-то возможно замутить?
Или совсем труба?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Просматривать

Просматривать стуктуру БД (насколько мне известно) не возбраняется никому - ограничение даётся только на данные или на выполнение определённых процедур. (хотя и есть малопонятная превилегия USAGE, без которой как написано нельзя просматривать объекты в определённых схемах).

Однако, если у вас стоит столь острая проблема ограничивать пользователей, то не проще ли вам огранизовать разграничение прав не на уровне БД, а на уровне приложения? В моей практике было довольно много систем, работающих с БД от одного пользователя, но хранящих в таблицах самой БД имена, пароли и права пользователей на доступ к определённым функциям приложения. Таким образом у пользователя вообще нет возможности коннекта к БД со своими учётными данными - только возможность работать через приложение.

вопрос решён

REVOKE SELECT ON pg_catalog.pg_proc, information_schema.routines
FROM public;

рулит

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023