可以使用用户名加ip地址进行postgres授权吗?

时间:2013-09-03 12:01:26

标签: postgresql virtual-machine

我正在运行几个都有本地postgresql实例的虚拟机。克隆此类计算机时这很好 - 本地数据库也将被克隆,并且无法破坏主vm数据库内容。

出于性能原因,我想为所有虚拟机使用中央postgresql数据库,但我绝对必须确保克隆的虚拟机无法触及其主数据,即使它包含相同的用户名和密码。如果在对postgres进行身份验证期间以某种方式使用客户端的IP地址,那将很容易实现。

换句话说,如果客户端的IP地址不匹配,即使用户名和密码匹配,我也想拒绝访问postgresql,以避免我克隆的vm破坏了克隆的vm的数据。

请告知。

1 个答案:

答案 0 :(得分:1)

PostgreSQL通过pg_hba.conf file进行基于主机的身份验证。

要拒绝来自特定IP地址的任何连接,例如10.0.0.1,您可以将其放在文件的开头:

  

主持所有10.0.0.1拒绝

它也可以拒绝一系列地址

  

主持所有10.0.0.0/24拒绝

或者,如果您更喜欢相反的方式,请枚举授权地址,而不是使用reject

  

主持所有192.168.0.1 md5

未经任何规则授权的主机将被拒绝,并按照文件的顺序处理规则。