如果使用雲端認證或自訂認證開啟SSL鏈路加密,則表示在SSL鏈路中,用戶端驗證資料庫的真實性。如果您需要資料庫也驗證用戶端的真實性,還需要配置用戶端CA認證,本文介紹配置用戶端CA認證的具體操作。
前提條件
叢集為PolarDB PostgreSQL版 14、15或以上版本,其中 PolarDB PostgreSQL版14要求核心版本大於等於14.10.21.0版本,主地址可允許配置自訂認證、用戶端CA認證等。
叢集的資料庫代理版本要求至少為2.3.51版本,叢集地址和自訂地址才允許配置自訂認證、用戶端CA認證等。
已安裝OpenSSL工具。
說明如果您使用Linux系統,系統會內建OpenSSL工具,無需安裝。如果您使用Windows系統,請擷取OpenSSL 軟體包並安裝。
注意事項
配置用戶端CA認證後,已有串連需要斷開重連,加密才會生效。
配置用戶端CA認證、配置用戶端憑證撤銷檔案清單、關閉用戶端CA認證、關閉用戶端憑證撤銷檔案清單,會存在串連閃斷,請在業務低峰期間操作。
步驟一:擷取用戶端認證
本文以CentOS系統配置為例,如果您使用Windows作業系統,操作步驟中的openssl命令與CentOS系統中的openssl命令配置相同。
產生自我簽署憑證(ca1.crt)和自我簽署憑證私密金鑰(ca1.key)。
openssl req -new -x509 -days 3650 -nodes -out ca1.crt -keyout ca1.key -subj "/CN=root-ca1"產生用戶端認證請求檔案(client.csr)和用戶端認證私密金鑰(client.key)。
openssl req -new -nodes -text -out client.csr -keyout client.key -subj "/CN=<用戶端使用者名稱>"說明該命令中 -subj 參數後的CN取值請配置為用戶端訪問資料庫的使用者名稱。
產生用戶端認證(client.crt)。
openssl x509 -req -in client.csr -text -days 365 -CA ca1.crt -CAkey ca1.key -CAcreateserial -out client.crt
完成以上配置後,執行ls命令,查看已產生的檔案:
# ls
ca1.crt ca1.key ca1.srl client.crt client.csr client.key關鍵檔案解釋如下:
client.crt:用戶端認證檔案。
client.key:用戶端私密金鑰檔案。
ca1.crt:自我簽署憑證。
ca1.key:自我簽署憑證私密金鑰。
步驟二:配置用戶端 CA 憑證
配置用戶端CA認證後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。如果您後續要更新用戶端CA認證,也請參考如下步驟。
登入PolarDB管理主控台。
在頁面左上方,選擇叢集所在地區。
找到目的地組群,單擊叢集ID。
在左側功能表列中單擊配置與管理 > 安全管理。
在SSL配置頁簽,選擇您需要配置用戶端CA認證的主地址或叢集地址,然後單擊對應的設定用戶端CA認證按鈕。
在設定用戶端CA認證對話方塊中,選擇狀態為開啟,然後將自我簽署憑證檔案(ca1.crt)內容填寫到對話方塊中,然後單擊確定按鈕。
說明自我簽署憑證檔案(ca1.crt)擷取方式請參見步驟一:擷取用戶端認證。

步驟三:用戶端串連資料庫
PolarDB PostgreSQL版資料庫支援通過SSL遠端連線,更多資訊,請參見SSL串連PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)資料庫。
步驟四:(可選)配置憑證撤銷檔案
如果您不再使用某一個用戶端認證時,可以將用戶端憑證撤銷,資料庫將拒絕此用戶端登入。
配置憑證撤銷檔案後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。如果您後續要更新憑證撤銷檔案,也請參考如下步驟。
準備設定檔。
touch /etc/pki/CA/index.txt echo 1000 > /etc/pki/CA/crlnumber說明如果您使用Windows系統,需要按照如下步驟操作:
在OpenSSL安裝目錄 \bin 目錄下建立CA檔案夾。
在CA檔案夾內建立 index.txt 檔案。
在命令列執行如下命令:
echo 1000 > <OpenSSL 安裝目錄>\bin\CA\crlnumber修改C:\Program Files\Common Files\SSL\ 目錄下中的 openssl.cnf 檔案。
# 找到[ CA_default ]配置項 dir = "<OpenSSL 安裝目錄>\\bin\\CA"
吊銷用戶端認證(client.crt)。
openssl ca -revoke client.crt -cert ca1.crt -keyfile ca1.key說明該命令需要使用到自我簽署憑證(ca1.crt)及自我簽署憑證私密金鑰(ca1.key),請參見步驟一:擷取用戶端認證。
產生憑證撤銷檔案(client.crl)。
openssl ca -gencrl -out client.crl -cert ca.crt -keyfile ca.key進入配置與管理 > 安全管理頁面。 在SSL配置頁簽,選擇您需要配置用戶端吊銷檔案的主地址或者任意叢集地址,然後單擊對應的設定用戶端吊銷檔案按鈕。
在設定用戶端吊銷檔案對話方塊中,選擇狀態為開啟,將憑證撤銷檔案(client.crl)內容填寫到對話方塊中,然後單擊確定。

步驟五:(可選)關閉用戶端CA認證
關閉用戶端CA認證後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。
如果您需要關閉主地址或叢集地址的用戶端CA認證,可以在SSL配置頁面,找到對應主地址或叢集地址的設定用戶端CA認證按鈕並單擊。在彈出的設定用戶端CA認證對話方塊中,單擊關閉按鈕,並單擊確定即可。

步驟六:(可選)關閉用戶端憑證撤銷檔案
關閉用戶端憑證撤銷檔案後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。
如果您需要關閉主地址或叢集地址的用戶端憑證撤銷檔案,可以在SSL配置頁面,找到對應主地址或叢集地址的設定用戶端吊銷檔案按鈕並點擊。在彈出的設定用戶端吊銷檔案對話方塊中,單擊關閉按鈕,並單擊確定即可。
