2015-07-11 25 views
1

我在6432端口上運行我的postgres-9.2,在5432端口上運行pgbouncer。很少有同事客戶機在服務器機器上的5432端口上具有防火牆連接權限。但作爲數據庫管理員,我想限制一些IP地址訪問數據庫。如何限制特定主機連接到pgbouncer?

但是,雖然我阻止了pg_hba.conf文件,但由於允許pgbouncer端口,所以它們能夠訪問。

我可以阻止在操作系統防火牆級別,但我不想接受我的系統管理員的幫助。那麼,是否有任何方法來限制和拒絕IP地址訪問pgbouncer,正如我們通常通過pg_hba.conf爲postgresql所做的那樣。

請建議。

回答

-1

您可以設置AUTH_USER在pgbouncer(5)Pgbouncer Config

「如果AUTH_USER設置,在AUTH_FILE沒有指定任何用戶都可以從放在pg_shadow在數據庫中使用AUTH_USER查詢。AUTH_USER的密碼將採取來自auth_file「。

+0

這限制了用戶而不是主機。 – rotten

+0

嗨@rotten這是一個依賴於postgres pg_shadow和pg_hba.cof的工作解決方案客戶端身份驗證由基於主機的身份驗證控制答案包含參考。 pg_hba.cof數據庫用戶IP地址IP掩碼auth-method [auth-options] hostssl數據庫用戶IP地址IP掩碼auth-method [auth-options] hostnossl數據庫用戶IP地址IP掩碼的示例auth-method [auth-options]參考https://www.postgresql.org/docs/9.1/static/auth-pg-hba-conf.html – pnorton

0

https://pgbouncer.github.io/2015/12/pgbouncer-1-7

從V1.6的主要變化是用於TLS連接,HBA控制 文件和認證通過UNIX等UID支持。

所以從1.7開始你有hba文件,就像vanil postgres一樣。因此,通過IP過濾連接非常簡單。

此外,您可以使用一些技巧,連接後刪除連接,如我最近的其他答案https://stackoverflow.com/a/46191949/5315974中所述 - 但這又是一個迫切需要擺脫連接的技巧。在while循環或作爲工作中使用這些技巧通常是一個壞主意。

相關問題