全部產品
Search
文件中心

ApsaraDB RDS:強制用戶端使用SSL串連RDS PostgreSQL

更新時間:Jun 19, 2024

開啟SSL鏈路加密後,如果未設定用戶端存取控制,用戶端仍能通過參數PGSSLMODE=disable實現非SSL方式串連,如果您需要強制用戶端使用SSL方式串連,可參考本文進行配置。

前提條件

  • 如果僅需要用戶端通過SSL串連RDS PostgreSQL,需要開啟SSL串連。具體操作,請參見快速配置SSL加密配置自訂認證

  • 如果在用戶端通過SSL串連RDS PostgreSQL的前提下,還需要驗證用戶端認證,則需要配置用戶端CA認證。具體操作,請參見配置用戶端CA認證

操作步驟

RDS PostgreSQL提供如下方式,強制用戶端在訪問資料庫時必須使用SSL鏈路加密。

方法一:配置ACL用戶端存取控制

在配置用戶端CA認證後,您可以在RDS PostgreSQL執行個體中配置ACL控制用戶端的訪問,此時用戶端必須攜帶用戶端認證和私密金鑰並通過用戶端對應認證方式的驗證才能串連資料庫。

說明
  • 配置ACL期間,PostgreSQL資料庫執行個體將不能操作,用時約1分鐘左右,請您耐心等待。

  • 如果在RDS PostgreSQL資料庫未設定用戶端存取控制(預設prefer),用戶端可以使用PGSSLMODE=disable來實現非SSL方式串連資料庫。當需要禁止非SSL串連時,請確保在開啟SSL鏈路加密後將ACL配置為除prefer以外的其他認證方式。

單擊配置ACL後的修改,選擇不同的用戶端串連控制模式。

配置如下認證方法可以強制用戶端通過SSL串連RDS PostgreSQL執行個體:

  • cert:使用認證代替密碼登入,加密資料鏈路,同時檢查用戶端認證真偽,檢查認證CN與資料庫使用者名稱匹配。

  • verify-ca:加密資料鏈路,同時檢查用戶端認證真偽。

  • verify-full(RDS PostgreSQL 12以上支援):加密資料鏈路,同時檢查用戶端認證真偽,檢查認證CN與資料庫使用者名稱匹配。

方法二:配置pg_hba.cnf檔案

在配置SSL鏈路加密後,您可以通過RDS PostgreSQL提供的AD網域服務配置功能實現修改pg_hba.cnf檔案的目的,使用戶端串連資料庫時必須使用SSL方式。

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 在左側導覽列單擊帳號管理,然後選擇AD網域服務頁簽

  3. 將第一條記錄中的TYPE取值修改為hostsslimage.png

  4. 單擊提交

    說明

    提交後系統狀態將變為維護執行個體中,預計時間長度約1分鐘,修改後的新配置僅對新串連生效,對於舊串連,需要您斷開已有串連後重新串連才會生效。