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

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

使用SSL/TLS來加密資料庫的連線

您可以使用應用程式中的安全通訊端層 (SSL) 或傳輸層安全性 (TLS) 來加密與執行 Aurora My SQL 或 Aurora Postgre SQL 之資料庫叢集的連線。

SSL/TLS連接通過加密客戶端和數據庫執行個體之間移動的數據來提供一層安全性。或者,您的SSL/TLS連接可以通過驗證數據庫上安裝的服務器證書來執行服務器身份驗證。若需要伺服器身分驗證,請依照此一般程序進行:

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

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

    注意

    所有憑證僅適用於使用SSL/TLS連線下載。

  3. 使用數據庫引擎的實現SSL/Connect 進程TLS連接到數據庫。每個數據庫引擎都有自己的實現SSL/過程TLS。要了解如何TLS為數據庫實現SSL/,請點擊與您的數據庫引擎相對應的鏈接:

憑證授權單位

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

憑證認證機構概覽

Amazon RDS 提供以下內容CAs來簽署數據庫的數據庫服務器證書。

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

rds-ca-2019

使用具有 RSA 2048 私密金鑰演算法和SHA256簽章演算法的憑證授權單位。此 CA 將於 2024 年到期,且不支援自動伺服器憑證輪換。如果您正在使用此 CA 並且想要保持相同的標準,我們建議您切換至 rds-ca-rsa 2048 g1 CA。

Amazon RDS region-identifier CA

rds-ca-rsa国际集团

最 AWS 區域多使用具有 RSA 2048 私密金鑰演算法和SHA256簽章演算法的憑證授權單位。

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

此 CA 的有效期限仍超過 rds-ca-2019 CA。此 CA 支援自動伺服器憑證輪換。

Amazon RDS region-identifier RSA2048 国际

rds-ca-rsa国际集团

使用具有 RSA 4096 私密金鑰演算法和SHA384簽章演算法的憑證授權單位。此 CA 支援自動伺服器憑證輪換。

Amazon RDS region-identifier RSA4096 G1

rds-ca-ecc384-国际

使用具有 ECC 384 私密金鑰演算法和SHA384簽章演算法的憑證授權單位。此 CA 支援自動伺服器憑證輪換。

Amazon RDS region-identifier ECC384G1

這些 CA 憑證包含在區域和全域憑證套件中。當您將 rds-ca-rsa 2048-g1 、 rds-ca-rsa 4096-g1 或 rds-ca-ecc 384-g1 CA 與資料庫搭配使用時,請管理資料庫上的資料庫伺服器憑證。RDSRDS在資料庫伺服器憑證到期之前自動旋轉。

設定資料庫的 CA

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

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

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

注意

預設的 CA 設定為 rds-ca-rsa 2048-g1。您可以使用修改憑證命令覆寫您的 AWS 帳戶 預設 CA。

可用的CAs視資料庫引擎和 DB 引擎版本而定。使用 AWS Management Console時,您可以使用 Certificate authority (憑證授權單位) 設定來選擇 CA,如下圖所示。

憑證授權單位選項

控制台僅顯示可CAs用於數據庫引擎和數據庫引擎版本的。如果您使用的是 AWS CLI,可以使用create-db-instancemodify-db-instance命令為資料庫執行個體設定 CA。

如果您使用的是 AWS CLI,您可以使用CAs描述憑證命令來查看您帳戶的可用項目。此命令也會在輸出中顯示 ValidTill 中每個 CA 的到期日。您可以使用CAs該describe-db-engine-versions命令找到可用於特定數據庫引擎和數據庫引擎版本的。

下面的示例顯示了CAs可用於 Postgre SQL 數據庫引擎版本的默認RDS。

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

輸出類似如下。中列出CAs了可用的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-2019", "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) 區域的憑證組合包含下列憑證:

  • rds-ca-2019中繼憑證和根憑證。

  • rds-ca-rsa2048-g1rds-ca-rsa4096-g1、和rds-ca-ecc384-g1根 CA 憑證。您的應用程式信任存放區只需要註冊根 CA 憑證。

注意

Amazon RDS 代理和Aurora Serverless v1使用用證書從 AWS Certificate Manager (ACM)。如果您使用的是RDS代理伺服器,則不需要下載 Amazon RDS 憑證或更新使用RDS代理連線的應用程式。如需詳細資訊,請參閱使用TLS/SSL與RDS代理

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

若要下載的憑證服務包 AWS 區域,請在下表中選 AWS 區域 取主控您資料庫的連結。

AWS 區域 憑證套件 (PEM) 憑證套件 (PKCS7)
任何商業 AWS 區域 全球捆綁 .pem 全球捆綁
美國東部 (維吉尼亞北部) 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-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-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
加拿大西部 (卡加利) 鈣-西 1 捆綁 .pem 鈣-西 1 捆綁 .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
Middle East (Bahrain) me-south-1-bundle.pem me-south-1-bundle.p7b
中東 (UAE) me-central-1-bundle.pem me-central-1-bundle.p7b
南美洲 (聖保羅) sa-east-1-bundle.pem sa-east-1-bundle.p7b
任何 AWS GovCloud (US) Region 全球捆綁 .pem 全球捆綁
AWS GovCloud (美國東部) us-gov-east-1 捆綁。PEM us-gov-east-1 捆綁式
AWS GovCloud (美國西部) us-gov-west-1 捆綁。PEM us-gov-west-1 捆綁式

檢視 CA 憑證的內容

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

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