openGauss 配置檔案參考

techbing發表於2024-04-30

配置檔案參考

表 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

宣告記錄所匹配且允許訪問的資料庫。

  • all:表示該記錄匹配所有資料庫。
  • sameuser:表示如果請求訪問的資料庫和請求的使用者同名,則匹配。
  • samerole:表示請求的使用者必須是與資料庫同名角色中的成員。
  • samegroup:與samerole作用完全一致,表示請求的使用者必須是與資料庫同名角色中的成員。
  • 一個包含資料庫名的檔案或者檔案中的資料庫列表:檔案可以透過在檔名前面加字首@來宣告。檔案中的資料庫列表以逗號或者換行符分隔。
  • 特定的資料庫名稱或者用逗號分隔的資料庫列表。
    說明:

    值replication表示如果請求一個複製連結,則匹配,但複製連結不表示任何特定的資料庫。如需使用名為replication的資料庫,需在database列使用記錄“replication”作為資料庫名。

USER

宣告記錄所匹配且允許訪問的資料庫使用者。

  • all:表明該記錄匹配所有使用者。
  • +使用者角色:表示匹配任何直接或者間接屬於這個角色的成員。
    說明:

    +表示字首符號。

  • 一個包含使用者名稱的檔案或者檔案中的使用者列表:檔案可以透過在檔名前面加字首@來宣告。檔案中的使用者列表以逗號或者換行符分隔。
  • 特定的資料庫使用者名稱或者用逗號分隔的使用者列表。

ADDRESS

指定與記錄匹配且允許訪問的IP地址範圍。

支援IPv4和IPv6,可以使用如下兩種形式來表示:

  • IP地址/掩碼長度。例如,10.10.0.0/24
  • IP地址子網掩碼。例如,10.10.0.0 255.255.255.0
說明:

以IPv4格式給出的IP地址會匹配那些擁有對應地址的IPv6連線,比如127.0.0.1將匹配IPv6地址 ::ffff:127.0.0.1。

METHOD

宣告連線時使用的認證方法。

本產品支援如下幾種認證方式,詳細解釋請參見表2

  • trust
  • reject
  • md5(不推薦使用,預設不支援,可透過password_encryption_type引數配置)
    說明:

    MD5加密演算法安全性低,存在安全風險,建議使用更安全的加密演算法。

  • sha256
  • sm3
  • cert
  • peer(僅用於local模式)

表 2 認證方式

認證方式

說明

trust

採用這種認證模式時,本產品只完全信任從伺服器本機使用gsql且不指定-U引數的連線,此時不需要口令。

trust認證對於單使用者工作站的本地連線是非常合適和方便的,通常不適用於多使用者環境。如果想使用這種認證方法,可利用檔案系統許可權限制對伺服器的Unix域套接字檔案的訪問。要使用這種限制有兩個方法:

  • 設定引數unix_socket_permissionsunix_socket_group
  • 設定引數unix_socket_directory,將Unix域套接字檔案放在一個經過恰當限制的目錄裡。
須知:

設定檔案系統許可權只能Unix域套接字連線,它不會限制本地TCP/IP連線。為保證本地TCP/IP安全,openGauss不允許遠端連線使用trust認證方法。

reject

無條件地拒絕連線。常用於過濾某些主機。

md5

要求客戶端提供一個md5加密的口令進行認證。

須知:
  • MD5加密演算法安全性低,存在安全風險,建議使用更安全的加密演算法。
  • openGauss保留md5認證和密碼儲存,是為了便於第三方工具的使用(比如TPCC評測工具)。

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配置後下次連線時自動生效無需重啟資料庫。

詳情檢視:https://opengauss.org

詳情檢視:https://docs-opengauss.osinfra.cn

相關文章