我目前在 Postgres 中工作,并且正在创建一些用户。在创建这些用户并对其进行测试时,我注意到他们能够查看比他们有权访问的更多的模式。除此之外,他们还可以查看受限的 Schemas 表、视图和函数。这不理想。
在创建用户和他们的权限时,有没有办法让用户设置为他们只能查看某些模式,而不是我们数据库中的所有模式?
我还应该提到,这些用户将使用 PgAdmin 或 Tableau 查看我们的 postgres 数据库。
是的。使用命令
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 命令,因为您可能需要授予/撤销对某些表的读/写访问权限以及。