【发布时间】:2017-03-14 17:09:24
【问题描述】:
我在 PG 数据库中有一个特定的模式,其中包含一些非常敏感的数据。我想阻止除一个之外的每个角色访问它,但我无法从有关权限的文档中弄清楚。
一开始,我想我只会让CONNECT 访问那个特殊角色,但随后所有其他角色都可以连接到架构。更糟糕的是,每个角色还可以CREATE、DROP,做其他所有事情。
我错过了什么?
附带问题:随着时间的推移,此架构将成为另一个 postgresql 实例的流式传输目的地。简而言之,我们有一个支持实时网站的主数据库服务器,我们需要在另一台机器上对其进行辅助的只读副本,以执行一些计算密集型查询。我们认为流媒体是答案。这有意义吗?是否仍然可以保护对它的访问?
我们使用的是 9.5 版,以防万一。
【问题讨论】:
-
连接数据库的权限默认授予角色
public你需要撤销:revoke connect from public然后你可以通过grants来控制允许哪个用户连接。
标签: postgresql access-control whitelist