Напомним:
- схема
user341
- содержит исходные таблицы, пользователь не должен иметь возможность выбирать из таблиц в этой схеме.Вы также хотите скрыть это от пользователя tst_user_schema
- содержит представления, из которых пользователь должен иметь возможность выбирать.
Глядя на свои заявления GRANT
, вы без необходимости предоставляете пользователю SELECT
разрешение на ALL TABLES IN SCHEMA user341
.Для представлений работа вам нужно только GRANT USAGE
в этой схеме.
Так что REVOKE
эти разрешения, и пользователь не должен иметь возможность выбирать.
REVOKE SELECT ON ALL TABLES IN SCHEMA user341 FROM tstuser;
Совет : чтобы легко проверить разрешения, вы можете начать сеанс как tstuser
, используя директиву SET SESSION AUTHORIZATION , а затем проверить, какие операторы разрешены, ичего нет.
SET SESSION AUTHORIZATION tstuser
Относительно видимости схемы - к сожалению, нет способа скрыть или запретить пользователю видеть все таблицы и столбцы во всех схемах.Можно только ограничить доступ к данным.