使用 SSL/TLS 加密與資料庫叢集的連線 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 SSL/TLS 加密與資料庫叢集的連線

您可以從應用程式使用 Secure Socket Layer (SSL) 或 Transport Layer Security (TLS) 來加密對執行 Aurora MySQL 或 Aurora PostgreSQL 之資料庫叢集的連線。

SSL/TLS 連線透過加密在用戶端和資料庫叢集之間移動的資料,提供一層安全性。或者,您的 SSL/TLS 連線可以透過驗證資料庫上安裝的伺服器憑證來執行伺服器身分驗證。若需要伺服器身分驗證,請依照此一般程序進行:

  1. 為您的資料庫選擇簽署資料庫伺服器憑證憑證認證機構 (CA)如需有關憑證認證機構的詳細資訊,請參閱 憑證授權單位

  2. 下載憑證套件,以便在連線至資料庫時使用。若要下載憑證套件,請參閱 憑證套件依據 AWS 區域

    注意

    所有憑證都只能使用 SSL/TLS 連線來下載。

  3. 使用資料庫引擎實作 SSL/TLS 連線的程序連線至資料庫。每個資料庫引擎都有自己實作 SSL/TLS 的程序。若要了解如何為您的資料庫實作 SSL/TLS,請瀏覽對應您的資料庫引擎的連結:

憑證授權單位

憑證認證機構 (CA) 是在憑證鏈頂端識別根 CA 的憑證。CA 會簽署安裝在每個資料庫執行個體上的資料庫執行個體憑證。資料庫伺服器憑證會將資料庫執行個體識別為受信任伺服器。

憑證認證機構概覽

Amazon RDS 提供下列 CAs 來簽署資料庫的資料庫伺服器憑證。

憑證授權單位 (CA) 描述 Common name (CN) (通用名稱 (CN))

rds-ca-rsa2048-g1

在大多數 AWS 區域中,使用搭配 RSA 2048 私密金鑰演算法和 SHA256 簽署演算法的憑證認證機構。

在 中 AWS GovCloud (US) Regions,此 CA 使用具有 RSA 2048 私有金鑰演算法和 SHA384 簽署演算法的憑證授權機構。

此 CA 支援自動伺服器憑證輪換。

Amazon RDS 區域識別符 RSA2048 G1

rds-ca-rsa4096-g1

使用搭配 RSA 4096 私密金鑰演算法和 SHA384 簽署演算法的憑證認證機構。此 CA 支援自動伺服器憑證輪換。

Amazon RDS 區域識別符 RSA4096 G1

rds-ca-ecc384-g1

使用搭配 ECC 384 私密金鑰演算法和 SHA384 簽署演算法的憑證認證機構。此 CA 支援自動伺服器憑證輪換。

Amazon RDS 區域識別符 ECC384 G1
注意

如果您使用的是 AWS CLI,您可以使用 describe-certificates 來查看上述憑證授權機構的有效性。

這些 CA 憑證包含在區域和全域憑證套件中。當您搭配資料庫使用 rds-ca-rsa2048-g1、rds-ca-rsa4096-g1 或 rds-ca-ecc384-g1 CA 時,RDS 會管理資料庫上的資料庫伺服器憑證。RDS 會在資料庫伺服器憑證到期之前自動進行輪換。

設定資料庫的 CA

執行下列任務時,您可以設定資料庫的 CA:

  • 建立 Aurora 資料庫叢集 – 當您使用 AWS CLI 或 RDS API 在資料庫叢集中建立第一個資料庫執行個體時,您可以在 Aurora 叢集中設定資料庫執行個體的 CA。當使用 RDS 主控台建立資料庫叢集時,您無法針對資料庫叢集的資料庫執行個體設定 CA。如需說明,請參閱 建立 Amazon Aurora 資料庫叢集

  • 修改資料庫執行個體 - 您可以修改資料庫執行個體,針對資料庫叢集的資料庫執行個體設定 CA。如需說明,請參閱 修改資料庫叢集中的資料庫執行個體

注意

預設 CA 設定為 rds-ca-rsa2048-g1。 您可以使用 AWS 帳戶 modify-certificates 命令覆寫 的預設 CA。

可用的 CA 取決於資料庫引擎和資料庫引擎版本。使用 時 AWS Management Console,您可以使用憑證授權機構設定選擇 CA,如下圖所示。

憑證授權單位選項

主控台只會顯示資料庫引擎和資料庫引擎版本可用的 CA。如果您使用的是 AWS CLI,則可以使用 create-db-instancemodify-db-instance 命令來設定資料庫執行個體的 CA。

如果您使用的是 AWS CLI,您可以使用 describe-certificates 命令查看帳戶的可用 CAs。此命令也會在輸出中顯示 ValidTill 中每個 CA 的到期日。您可以使用 describe-db-engine-versions 命令,尋找適用於特定資料庫引擎和資料庫引擎版本的 CA。

下列範例顯示適用於預設 RDS for PostgreSQL 資料庫引擎版本的 CA。

aws rds describe-db-engine-versions --default-only --engine postgres

輸出類似如下。可用的 CA 列示在 SupportedCACertificateIdentifiers 中。輸出也會顯示 DB 引擎版本是否支援輪換憑證,而不需在 SupportsCertificateRotationWithoutRestart 中重新啟動。

{ "DBEngineVersions": [ { "Engine": "postgres", "MajorEngineVersion": "13", "EngineVersion": "13.4", "DBParameterGroupFamily": "postgres13", "DBEngineDescription": "PostgreSQL", "DBEngineVersionDescription": "PostgreSQL 13.4-R1", "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [ "Lambda" ], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "SupportsBabelfish": false, "SupportsCertificateRotationWithoutRestart": true, "SupportedCACertificateIdentifiers": [ "rds-ca-rsa2048-g1", "rds-ca-ecc384-g1", "rds-ca-rsa4096-g1" ] } ] }

資料庫伺服器憑證有效期

資料庫伺服器憑證的有效期取決於資料庫引擎和資料庫引擎版本。如果資料庫引擎版本支援在不重新啟動的情況下輪換憑證,則資料庫伺服器憑證的有效期為 1 年。若不支援的話,則有效期為 3 年。

如需資料庫伺服器憑證輪換的詳細資訊,請參閱 自動伺服器憑證輪換

檢視資料庫執行個體的 CA

您可以在 主控台中檢視連線與安全索引標籤,以檢視資料庫的 CA 詳細資訊,如下圖所示。

憑證授權單位詳細資訊

如果您使用的是 AWS CLI,您可以使用 describe-db-instances 命令來檢視資料庫執行個體的 CA 詳細資訊。

下載適用於 Aurora 的憑證套件

當您使用 SSL 或 TLS 連線到資料庫時,資料庫執行個體需要來自 Amazon RDS 的信任憑證。在下表中選取適當的連結,以下載與您託管資料庫 AWS 區域 的 對應的套件。

憑證套件依據 AWS 區域

所有 AWS 區域 和 GovCloud (US) 區域的憑證套件都包含下列根 CA 憑證:

  • rds-ca-rsa2048-g1

  • rds-ca-rsa4096-g1

  • rds-ca-ecc384-g1

rds-ca-rsa4096-g1rds-ca-ecc384-g1憑證不適用於下列區域:

  • 亞太區域 (孟買)

  • 亞太區域 (墨爾本)

  • 加拿大西部 (卡加利)

  • 歐洲 (蘇黎世)

  • 歐洲 (西班牙)

  • 以色列 (特拉維夫)

您的應用程式信任存放區只需要註冊根 CA 憑證。

注意

Amazon RDS Proxy 和 Aurora Serverless v1使用來自 AWS Certificate Manager (ACM) 的憑證。如果您使用的是 RDS Proxy,則不需要下載 Amazon RDS 憑證或使用 RDS Proxy 連線更新應用程式。如需詳細資訊,請參閱搭配 RDS Proxy 使用 TLS/SSL

如果您使用的是 Aurora Serverless v1,則不需要下載 Amazon RDS 憑證。如需詳細資訊,請參閱使用 TLS/SSL 搭配 Aurora Serverless v1

若要下載 的憑證套件 AWS 區域,請在下表中選取 AWS 區域 託管資料庫的 連結。

AWS 區域 憑證套件 (PEM) 憑證套件 (PKCS7)
任何商業 AWS 區域 global-bundle.pem global-bundle.p7b
美國東部 (維吉尼亞北部) us-east-1-bundle.pem us-east-1-bundle.p7b
美國東部 (俄亥俄) us-east-2-bundle.pem us-east-2-bundle.p7b
美國西部 (加利佛尼亞北部) us-west-1-bundle.pem us-west-1-bundle.p7b
美國西部 (奧勒岡) us-west-2-bundle.pem us-west-2-bundle.p7b
非洲 (開普敦) af-south-1-bundle.pem af-south-1-bundle.p7b
亞太區域 (香港) ap-east-1-bundle.pem ap-east-1-bundle.p7b
亞太區域 (海德拉巴) ap-south-2-bundle.pem ap-south-2-bundle.p7b
亞太區域 (雅加達) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
亞太地區 (馬來西亞) ap-southeast-5-bundle.pem ap-southeast-5-bundle.p7b
亞太區域 (墨爾本) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
亞太區域 (孟買) ap-south-1-bundle.pem ap-south-1-bundle.p7b
亞太區域 (大阪) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
亞太區域 (泰國) ap-southeast-7-bundle.pem ap-southeast-7-bundle.p7b
亞太區域 (東京) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
亞太區域 (首爾) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
亞太區域 (新加坡) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
亞太區域 (雪梨) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
加拿大 (中部) ca-central-1-bundle.pem ca-central-1-bundle.p7b
加拿大西部 (卡加利) ca-west-1-bundle.pem ca-west-1-bundle.p7b
歐洲 (法蘭克福) eu-central-1-bundle.pem eu-central-1-bundle.p7b
歐洲 (愛爾蘭) eu-west-1-bundle.pem eu-west-1-bundle.p7b
歐洲 (倫敦) eu-west-2-bundle.pem eu-west-2-bundle.p7b
歐洲 (米蘭) eu-south-1-bundle.pem eu-south-1-bundle.p7b
歐洲 (巴黎) eu-west-3-bundle.pem eu-west-3-bundle.p7b
歐洲 (西班牙) eu-south-2-bundle.pem eu-south-2-bundle.p7b
歐洲 (斯德哥爾摩) eu-north-1-bundle.pem eu-north-1-bundle.p7b
歐洲 (蘇黎世) eu-central-2-bundle.pem eu-central-2-bundle.p7b
以色列 (特拉維夫) il-central-1-bundle.pem il-central-1-bundle.p7b
墨西哥 (中部) mx-central-1-bundle.pem mx-central-1-bundle.p7b
Middle East (Bahrain) me-south-1-bundle.pem me-south-1-bundle.p7b
中東 (阿拉伯聯合大公國) me-central-1-bundle.pem me-central-1-bundle.p7b
南美洲 (聖保羅) sa-east-1-bundle.pem sa-east-1-bundle.p7b
任何 AWS GovCloud (US) Region global-bundle.pem global-bundle.p7b
AWS GovCloud (美國東部) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud (美國西部) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b

檢視 CA 憑證的內容

若要查看 CA 憑證套件的內容,請使用下列命令:

keytool -printcert -v -file global-bundle.pem