我目前在Postgres工作,正在创建一些用户。在创建和测试这些用户的过程中,我注意到他们能够查看比他们有权访问的更多的Schemas。除此之外,他们还可以查看受限制的Schemas表、视图和函数。这并不理想。
在创建用户及其权限时,是否有一种方法可以将用户设置为只能查看数据库中的某些模式而不是所有模式?
我还应该提到,这些用户将使用PgAdmin或Tableau查看我们的postgres数据库。
我目前在Postgres工作,正在创建一些用户。在创建和测试这些用户的过程中,我注意到他们能够查看比他们有权访问的更多的Schemas。除此之外,他们还可以查看受限制的Schemas表、视图和函数。这并不理想。
在创建用户及其权限时,是否有一种方法可以将用户设置为只能查看数据库中的某些模式而不是所有模式?
我还应该提到,这些用户将使用PgAdmin或Tableau查看我们的postgres数据库。
1条答案
按热度按时间iq0todco1#
是。使用命令
GRANT USAGE ON SCHEMA [schemaname] TO [username]
或REVOKE USAGE ON SCHEMA [schemaname] FROM [username]
控制对方案本身的访问。您可能还需要执行
REVOKE USAGE ON SCHEMA [schemaname] FROM public
来删除默认访问权限。我建议查看https://www.postgresql.org/docs/current/static/sql-grant.html以获得可用的GRANT命令的完整集合,因为您可能还需要授予/撤销对某些表的读/写访问权限。