本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SSL/TLS 來加密資料庫執行個體或叢集的連線
您可以從應用程式使用 Secure Socket Layer (SSL) 或 Transport Layer Security (TLS) 來加密對執行 Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL 之資料庫的連線。
SSL/TLS 連線會對用戶端與資料庫執行個體或叢集之間移動的資料進行加密,藉此提供多一層安全性。或者,您的 SSL/TLS 連線可以藉由驗證安裝在資料庫上的伺服器憑證來執行伺服器身分驗證。若需要伺服器身分驗證,請依照此一般程序進行:
-
為您的資料庫選擇簽署資料庫伺服器憑證的憑證認證機構 (CA)。如需有關憑證認證機構的詳細資訊,請參閱 憑證授權單位。
-
下載憑證套件,以便在連線至資料庫時使用。若要下載憑證套件,請參閱 憑證套件依據 AWS 區域。
注意
所有憑證都只能使用 SSL/TLS 連線來下載。
-
使用資料庫引擎實作 SSL/TLS 連線的程序連線至資料庫。每個資料庫引擎都有自己實作 SSL/TLS 的程序。若要了解如何為您的資料庫實作 SSL/TLS,請瀏覽對應您的資料庫引擎的連結:
憑證授權單位
憑證認證機構 (CA) 是在憑證鏈頂端識別根 CA 的憑證。CA 會簽署安裝在每個資料庫執行個體上的資料庫執行個體憑證。資料庫伺服器憑證會將資料庫執行個體識別為受信任伺服器。
Amazon RDS 提供下列 CA 來簽署資料庫的資料庫伺服器憑證。
| 憑證授權單位 (CA) | 說明 | Common name (CN) (通用名稱 (CN)) |
|---|---|---|
|
rds-ca-rsa2048-g1 |
在大多數 AWS 區域中,使用搭配 RSA 2048 私密金鑰演算法和 SHA256 簽署演算法的憑證認證機構。 在 中 AWS GovCloud (US) Regions,此 CA 使用憑證授權機構搭配 RSA 2048 私有金鑰演算法和 SHA384 簽署演算法。 此 CA 支援自動伺服器憑證輪換。 |
Amazon RDS 區域識別符根 CA RSA2048 G1 |
|
rds-ca-rsa4096-g1 |
使用搭配 RSA 4096 私密金鑰演算法和 SHA384 簽署演算法的憑證認證機構。此 CA 支援自動伺服器憑證輪換。 |
Amazon RDS 區域識別符根 CA RSA4096 G1 |
|
rds-ca-ecc384-g1 |
使用搭配 ECC 384 私密金鑰演算法和 SHA384 簽署演算法的憑證認證機構。此 CA 支援自動伺服器憑證輪換。 |
Amazon RDS 區域識別符根 CA ECC384 G1 |
注意
如果您使用的是 AWS CLI,您可以使用 describe-certificates 來查看上述憑證授權單位的有效性。
這些 CA 憑證包含在區域和全域憑證套件中。當您搭配資料庫使用 rds-ca-rsa2048-g1、rds-ca-rsa4096-g1 或 rds-ca-ecc384-g1 CA 時,RDS 會管理資料庫上的資料庫伺服器憑證。RDS 會在資料庫伺服器憑證到期之前自動進行輪換。
設定資料庫的 CA
執行下列任務時,您可以設定資料庫的 CA:
-
建立資料庫執行個體或多可用區域資料庫叢集 – 您可以在建立資料庫執行個體或叢集時設定 CA。如需相關指示,請參閱 建立 Amazon RDS 資料庫執行個體 或 為 Amazon RDS 建立多可用區域資料庫叢集。
-
修改資料庫執行個體或多可用區域資料庫叢集 - 您可以修改它,針對資料庫執行個體或叢集設定 CA。如需相關指示,請參閱 修改 Amazon RDS 資料庫執行個體 或 使用 Amazon RDS 修改多可用區域資料庫叢集。
注意
預設 CA 設定為 rds-ca-rsa2048-g1。您可以使用 AWS 帳戶 modify-certificates 命令覆寫 的預設 CA。
可用的 CA 取決於資料庫引擎和資料庫引擎版本。使用 時 AWS 管理主控台,您可以使用憑證授權單位設定選擇 CA,如下圖所示。
主控台只會顯示資料庫引擎和資料庫引擎版本可用的 CA。如果您使用的是 AWS CLI,則可以使用 create-db-instance 或 modify-db-instance 命令來設定資料庫執行個體的 CA。您可以使用 create-db-cluster 或 modify-db-cluster 命令來設定多可用區域資料庫叢集的 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 詳細資訊。您可以使用 describe-db-clusters 命令,檢視多可用區域資料庫叢集 CA 的詳細資訊。
下載適用於 Amazon RDS 的憑證套件
當您使用 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-g1 和 rds-ca-ecc384-g1 憑證不適用於下列區域:
-
亞太地區 (孟買)
-
亞太地區 (墨爾本)
-
加拿大西部 (卡加利)
-
歐洲 (蘇黎世)
-
歐洲 (西班牙)
-
以色列 (特拉維夫)
您的應用程式信任存放區只需要註冊根 CA 憑證。請勿將中繼 CA 憑證註冊到您的信任存放區,因為這可能會在 RDS 自動輪換資料庫伺服器憑證時造成連線問題。
注意
Amazon RDS Proxy 來自 AWS Certificate Manager (ACM) 的憑證。如果您是使用 RDS Proxy,您不需要下載 Amazon RDS 憑證或更新使用 RDS Proxy 連線的應用程式。如需詳細資訊,請參閱 搭配 RDS Proxy 使用 TLS/SSL。
若要下載 的憑證套件 AWS 區域,請在下表中選取 AWS 區域 託管資料庫的 連結。
檢視 CA 憑證的內容
若要查看 CA 憑證套件的內容,請使用下列命令:
keytool -printcert -v -file global-bundle.pem