如何在 Aurora PostgreSQL 相容版本的資料庫執行個體上開啟 SSL 連線,以及如何使用 SSL 憑證來與我的執行個體連線?

上次更新日期:2022 年 12 月 16 日

我想要使用 Secure Socket Layer (SSL) 連線跟 Amazon Aurora PostgreSQL 相容版本資料庫叢集連線。

簡短說明

您可以使用 SSL 或 Transport Layer Security (TLS) 來加密從應用程式到 Aurora PostgreSQL 相容版本資料庫叢集的連線。SSL 和 TLS 連線可為叢集提供單層安全性,並加密在用戶端和叢集之間移動的資料。如需詳細資訊,請參閱 Using SSL/TLS to encrypt a connection to a DB cluster (使用 SSL/TLS 來加密資料庫叢集的連線)。

為了安全起見,連線前必須先在用戶端和伺服器上設定 SSL 連線。如果伺服器上未設定 SSL,用戶端可能會傳送密碼等敏感資訊。如需有關建立 SSL 加密連線的詳細資訊,請參閱 PostgreSQL 說明文件中的 SSL 支援

適用於 PostgreSQL 的 SSL 模式如下:

  • 完整驗證
  • 憑證授權單位驗證
  • 需要
  • 偏好
  • 允許
  • 停用

如需有關針對使用案例選擇適當 SSL 模式的詳細資訊,請參閱 PostgreSQL 說明文件中的以不同模式提供的保護

解決方案

Amazon Relational Database Service (Amazon RDS) 會在您建立叢集時,為叢集建立 SSL 或 TLS 憑證。如需詳細資訊,請參閱 Amazon Aurora PostgreSQL 的安全性

透過 SSL/TLS 與您的資料庫叢集連線

1.    下載 SSL/TSL 憑證

2.    將憑證匯入您的作業系統。

3.    透過 SSL/TLS 與 Aurora PostgreSQL 相容版本資料庫叢集連線。

請參閱此範例:

psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com  -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"

rds.force_ssl 設定為 1 (開啟) 時,資料庫執行個體的 pg_hba.conf 檔案將修改以支援新的 SSL 組態。您可以使用 pg_hba_file_rules 視圖來檢視 pg_hba.conf 檔案的內容摘要。將 rds.force_ssl 設定為 1 (開啟) 之後,pg_hba_file_rules 視圖的類型值將更新為 hostssl。

您可以將使用 SSL/TLS 指定為與資料庫叢集進行連線的要求。若要這麼做,請使用 rds.force_ssl 參數。在預設情況下,rds.force_ssl 參數設定為 0,表示它處於關閉狀態。若要開啟此參數,請將 rds.force_ssl 設定為 1。這會讓使用 SSL/TLS 成為與資料庫叢集進行連線的要求。

如需詳細資訊,請參閱 Securing Aurora PostgreSQL data with SSL/TLS (使用 SSL/TLS 保護 Aurora PostgreSQL 資料)。

檢閱 SSL 連線

若要檢閱 SSL 連線,請執行以下命令:

postgres=> select ssl_is_used();
 ssl_is_used
-------------
 t
(1 row)

postgres=> select ssl_cipher();
         ssl_cipher
-----------------------------
 ECDHE-RSA-AES128-GCM-SHA256
(1 row)

此文章是否有幫助?


您是否需要帳單或技術支援?