Chr*_*loe 11 postgresql postgresql-9.2
我有一个 postgres 数据库,有两个用户;爱丽丝和鲍勃。
我希望能够做到这一点,NOTIFY alice_channel 'sensitive data'
而鲍勃无法LISTEN
通过猜测频道名称是“alice_channel”而偷偷摸摸地进入。
在实践中,频道名称是很难猜测,但是这是安全通过朦胧的最好的。
我认为没有办法阻止数据库用户使用(滥用)LISTEN
&NOTIFY
是否正确?即似乎没有任何可以授予或撤销的相关权限。
这是一个死胡同吗?
LISTEN
和没有权限NOTIFY
。在更新的版本中引入对通知有效负载的支持之前,没有任何意义。
如果您想要访问控制,请创建一个包含您想要的信息的表,然后发送一个NOTIFY
空的或除了该表的主键之外什么都没有的表。SELECT
表中感兴趣的行,可以进行访问控制,以获取敏感数据。这曾经是在添加有效载荷之前使用LISTEN
和NOTIFY
发送特定数据的唯一方法。