Postgres:限制用户查看模式的能力
Postgres: Restricting users ability to view schemas
我目前在 Postgres 工作,并且正在创建一些用户。在创建这些用户并对其进行测试时,我注意到他们能够查看比他们有权访问的更多的模式。除此之外,他们还可以查看受限的 Schemas 表、视图和函数。这不理想。
在创建用户和他们的权限时,有没有办法让用户设置为他们只能查看某些模式,而不是我们数据库中的所有模式?
我还应该提到,这些用户将使用 PgAdmin 或 Tableau 查看我们的 postgres 数据库。
是的。使用命令 GRANT USAGE ON [schemaname] TO [username]
或 REVOKE USAGE ON [schemaname] FROM [username]
来控制对架构本身的访问。
您可能还需要执行 REVOKE USAGE ON [schemaname] FROM public
以删除默认访问权限。
我建议查看 https://www.postgresql.org/docs/current/static/sql-grant.html 以获得完整的 GRANT 命令集,因为您可能还需要 grant/revoke read/write 访问某些表。
我目前在 Postgres 工作,并且正在创建一些用户。在创建这些用户并对其进行测试时,我注意到他们能够查看比他们有权访问的更多的模式。除此之外,他们还可以查看受限的 Schemas 表、视图和函数。这不理想。
在创建用户和他们的权限时,有没有办法让用户设置为他们只能查看某些模式,而不是我们数据库中的所有模式?
我还应该提到,这些用户将使用 PgAdmin 或 Tableau 查看我们的 postgres 数据库。
是的。使用命令 GRANT USAGE ON [schemaname] TO [username]
或 REVOKE USAGE ON [schemaname] FROM [username]
来控制对架构本身的访问。
您可能还需要执行 REVOKE USAGE ON [schemaname] FROM public
以删除默认访问权限。
我建议查看 https://www.postgresql.org/docs/current/static/sql-grant.html 以获得完整的 GRANT 命令集,因为您可能还需要 grant/revoke read/write 访问某些表。