2010-09-06 1 views
2

Я узнал, как запретить доступ к таблицам для пользователя в схеме.PostgreSQL, как я могу ограничить доступ к коду в функции для пользователя?

REVOKE ALL PRIVILEGES ON SCHEMA test FROM user; 

Но что я могу сделать, чтобы ограничить доступ ко всем функциям в схеме, так что пользователь не может прочитать код?

Я пытался это:

REVOKE ALL ON FUNCTION test.test_function(text) FROM user; 

Да, он имеет ограниченную способность изменить функцию, но не на самом деле увидеть.

Что я пропустил?

ответ

2

REVOKE Доступ к системному виду pg_proc или по крайней мере столбец prosrc, который содержит исходный код функции.

+0

Я использую здесь: REVOKE ВСЕ ПРИВИЛЕГИИ В ТАБЛИЦЕ pg_catalog.pg_proc FROM user; Но он не работает ... пользователь все еще может видеть таблицу. – MindLezz

+1

Вы также открыли доступ к REVOKE? Ваш пользователь также является «общедоступным»: REVOKE SELECT ON TABLE pg_proc FROM public; –

+0

Спасибо, Фрэнк! Он работает;) – MindLezz

Смежные вопросы