表 1 引數說明
引數名稱
描述
取值範圍
local
表示這條記錄只接受透過Unix域套接字進行的連線。沒有這種型別的記錄,就不允許Unix域套接字的連線。
只有在從伺服器本機使用gsql連線且在不指定-h引數的情況下,才是透過Unix域套接字連線。
-
host
表示這條記錄既接受一個普通的TCP/IP套接字連線,也接受一個經過SSL加密的TCP/IP套接字連線。
hostssl
表示這條記錄只接受一個經過SSL加密的TCP/IP套接字連線。
用SSL進行安全的連線,需要配置申請數字證書並配置相關引數,詳細資訊請參見用SSL進行安全的TCP/IP連線。
hostnossl
表示這條記錄只接受一個普通的TCP/IP套接字連線。
DATABASE
宣告記錄所匹配且允許訪問的資料庫。
值replication表示如果請求一個複製連結,則匹配,但複製連結不表示任何特定的資料庫。如需使用名為replication的資料庫,需在database列使用記錄“replication”作為資料庫名。
USER
宣告記錄所匹配且允許訪問的資料庫使用者。
+表示字首符號。
ADDRESS
指定與記錄匹配且允許訪問的IP地址範圍。
支援IPv4和IPv6,可以使用如下兩種形式來表示:
以IPv4格式給出的IP地址會匹配那些擁有對應地址的IPv6連線,比如127.0.0.1將匹配IPv6地址 ::ffff:127.0.0.1。
METHOD
宣告連線時使用的認證方法。
本產品支援如下幾種認證方式,詳細解釋請參見表2:
MD5加密演算法安全性低,存在安全風險,建議使用更安全的加密演算法。
表 2 認證方式
認證方式
說明
trust
採用這種認證模式時,本產品只完全信任從伺服器本機使用gsql且不指定-U引數的連線,此時不需要口令。
trust認證對於單使用者工作站的本地連線是非常合適和方便的,通常不適用於多使用者環境。如果想使用這種認證方法,可利用檔案系統許可權限制對伺服器的Unix域套接字檔案的訪問。要使用這種限制有兩個方法:
設定檔案系統許可權只能Unix域套接字連線,它不會限制本地TCP/IP連線。為保證本地TCP/IP安全,openGauss不允許遠端連線使用trust認證方法。
reject
無條件地拒絕連線。常用於過濾某些主機。
md5
要求客戶端提供一個md5加密的口令進行認證。
sha256
要求客戶端提供一個sha256演算法加密的口令進行認證,該口令在傳送過程中結合salt(伺服器傳送給客戶端的隨機數)的單向sha256加密,增強了安全性。
sm3
要求客戶端提供一個sm3演算法加密口令進行認證,該口令在傳送過程中結合salt(伺服器傳送給客戶端的隨機數)的單項sm3的加密,增加了安全性。
cert
客戶端證書認證模式,此模式需進行SSL連線配置且需要客戶端提供有效的SSL證書,不需要提供使用者密碼。
該認證方式只支援hostssl型別的規則。
peer
獲取客戶端所在作業系統使用者名稱,並檢查與資料庫初始使用者名稱是否一致。此方式只支援資料庫初始使用者透過local模式本地連線,並支援透過配置pg_ident.conf建立作業系統使用者與資料庫初始使用者對映關係。
假設作業系統使用者名稱為omm,資料庫初始使用者為dbAdmin,在pg_hba.conf中配置local模式為peer認證:
local all all peer map=mymap
其中map=mymap指定使用的使用者名稱對映,並在pg_ident.conf中新增對映名稱為mymap的使用者名稱對映如下:
# MAPNAME SYSTEM-USERNAME PG-USERNAME mymap omm dbAdmin
透過gs_guc reload方式修改pg_hba.conf配置可以立即生效無需重啟資料庫。直接編輯修改pg_ident.conf配置後下次連線時自動生效無需重啟資料庫。