本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新您的 Amazon DocumentDB 證書 TLS
亞馬遜文件資料庫叢集的憑證授權單位 (CA) 憑證將於 2024 年 8 月開始更新。如果您使用已啟用傳輸層安全性 (TLS) (預設設定) 的 Amazon DocumentDB 叢集,且尚未輪替用戶端應用程式和伺服器憑證,則需要執行下列步驟來緩解應用程式與 Amazon DocumentDB 叢集之間的連線問題。
CA 和伺服器憑證已作為 Amazon DocumentDB 標準維護和安全最佳實務的一部分進行了更新。用戶端應用程式必須將新的 CA 憑證新增至其信任存放區,而且現有的 Amazon DocumentDB 執行個體必須在此到期日之前更新,才能使用新的 CA 憑證。
更新您的應用程式和 Amazon DocumentDB 叢集
請遵循本節所述步驟更新您應用程式的憑證授權機構憑證套件 (步驟 1) 和您叢集的伺服器憑證 (步驟 2)。將變更套用至您的生產環境前,我們強烈在開發或預備環境中測試這些步驟。
注意
您必須在每個擁有 Amazon DocumentDB 叢集的每個步驟 AWS 區域 中完成步驟 1 和 2。
步驟 1:下載新的 CA 憑證並更新您的應用程式
下載新的 CA 憑證並更新您的應用程式,以使用新的 CA 憑證建立與 Amazon DocumentDB 的TLS連線。請從下列位置下載新的 CA 憑證套件:https://truststore.pki.rds.amazonaws.com/global/global-bundle.pemglobal-bundle.pem
的檔案。
注意
如果您要存取同時包含舊 CA 憑證 (rds-ca-2019-root.pem
) 和新 CA 憑證 (、、) 的金鑰儲存庫 rds-ca-rsa2048-g1
rds-ca-rsa4096-g1
,rds-ca-ecc384-g1
請確認金鑰儲存庫是否已選取。global-bundle
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
接著更新您的應用程式,以使用新的憑證套件。新的 CA 服務包同時包含舊的 CA 憑證 (rds-ca-2019) 和新的 CA 憑證 (rds-ca-rsa2048-g1, 4096-g1)。 rds-ca-rsa rds-ca-ecc只要在新的 CA 套件中有這兩個憑證,即可用兩個步驟更新您的應用程式和叢集。
對於 Java 應用程式,您必須使用新的 CA 憑證建立新的信任存放區。如需指示,請參閱主連線時TLS啟用題中的 Java 索引標籤。
如果要確認應用程式是否有在使用最新的憑證授權機構憑證套件,請參閱我如何確定自己使用的是最新的 CA 套件?。如果您已經在應用程式中使用最新的憑證授權機構憑證套件,可以跳到步驟 2。
如需搭配您的應用程式使用 CA 套件的範例,請參閱 加密傳輸中的資料 和 連線時TLS啟用。
注意
MongoDB Go Driver 1.2.1 目前只接受 sslcertificateauthorityfile
中的一個 CA 伺服器憑證。啟TLS用時,連線時TLS啟用請參閱使用 Go 連接到 Amazon DocumentDB 的信息。
步驟 2:更新伺服器憑證
應用程式更新為使用新的 CA 服務包之後,下一個步驟是修改 Amazon DocumentDB 叢集中的每個執行個體來更新伺服器憑證。若要修改執行個體以使用新的伺服器憑證,請參閱下列指示。
Amazon DocumentDB 提供下列項目CAs來簽署資料庫執行個體的資料庫伺服器憑證:
-
rds-ca-ecc384-g1 — 使用具有 ECC 384 私密金鑰演算法和簽章演算法的憑證授權單位。SHA384此 CA 支援自動伺服器憑證輪換。這僅在 Amazon DocumentDB 4.0 和 5.0 上受到支持。
-
rds-ca-rsa2048 g1 — 在大多數地區使用具有 RSA 2048 私密金鑰演算法和SHA256簽章演算法的憑證授權單位。 AWS 此 CA 支援自動伺服器憑證輪換。
-
rds-ca-rsa4096-g1 — 使用具有 RSA 4096 私密金鑰演算法和簽章演算法的憑證授權單位。SHA384此 CA 支援自動伺服器憑證輪換。
這些 CA 憑證包含在區域和全域憑證套件中。當您將 rds-ca-rsa 2048-g1、 rds-ca-rsa 4096 g1 或 rds-ca-ecc 384-g1 CA 與資料庫搭配使用時,Amazon DocumentDB 會管理資料庫上的資料庫伺服器憑證。Amazon DocumentDB 會在資料庫伺服器憑證到期前自動進行輪換。
注意
如果您的叢集在下列引擎修補程式版本上執行,Amazon DocumentDB 不需要重新開機即可進行憑證輪替:
Amazon DocumentDB: 1.0.208662 或更高版本
Amazon DocumentDB 4.0:2.0.10179 或更高版本
Amazon DocumentDB 5.0:3.0.4780 或更高版本
您可以執行下列命令來判斷目前的 Amazon DocumentDB 引擎修補程式版本:。db.runCommand({getEngineVersion: 1})
更新伺服器憑證之前,請確定您已完成步驟 1。
故障診斷
如果您在憑證輪換的過程中無法連接到叢集,我們建議您執行下列動作:
-
確認您的用戶端使用最新的憑證服務套件。請參閱 我如何確定自己使用的是最新的 CA 套件?。
-
確認您的執行個體使用最新的憑證。請參閱 我如何知道我的 Amazon DocumentDB 執行個體正在使用舊/新伺服器憑證?。
-
確認您的應用程式正在使用最新的憑證 CA。某些驅動程式 (例如 Java 和 Go) 需要額外的程式碼,才能將憑證套件中的多個憑證匯入信任存放區。如需使用連線至 Amazon 文件資料庫的詳細資訊TLS,請參閱。以編程方式連接 Amazon DocumentDB
-
聯絡支援。如果您有任何疑問或問題,請聯繫AWS Support
。
常見問答集
以下是有關TLS憑證的一些常見問題的解答。
要是我有問題,該怎麼辦?
如果您有任何疑問或問題,請聯繫AWS Support
我如何知道我是否正在使用連線TLS到我的 Amazon DocumentDB 叢集?
您可以檢查叢集之叢集參數群組的tls
參數,以判斷叢集是否正在使TLS用。如果tls
參數設定為enabled
,表示您正在使用TLS憑證連線到叢集。如需詳細資訊,請參閱管理 Amazon DocumentDB 叢集參數群組。
為何需要更新 CA 和伺服器憑證?
Amazon DocumentDB CA 和伺服器憑證正在作為亞馬 Amazon DocumentDB 標準維護和安全最佳實務的一部分進行更新。目前的 CA 和伺服器憑證將於 2024 年 8 月開始到期。
如果我沒有在到期日前採取任何行動,會發生什麼情況?
如果您使用連線TLS到 Amazon DocumentDB 叢集,而且在 則透過連線的應用程式TLS將無法再與 Amazon DocumentDB 叢集進行通訊。
Amazon DocumentDB 不會在到期前自動輪替您的資料庫憑證。您必須在到期日之前或之後更新應用程式和叢集,才能使用新的 CA 憑證。
我如何知道我的 Amazon DocumentDB 執行個體正在使用舊/新伺服器憑證?
若要識別仍使用舊伺服器憑證的 Amazon DocumentDB 執行個體,您可以使用 Amazon Document AWS Management Console DB 或. AWS CLI
辨識在您的叢集中仍在使用舊憑證的執行個體
-
在畫面右上角的「區域」清單中,選擇執行個體所 AWS 區域 在的位置。
-
在主控台左側的導覽窗格中,選擇 [叢集]。
-
憑證授權單位欄 (靠近表格最右邊) 會顯示哪些執行處理仍在舊伺服器憑證 (
rds-ca-2019
) 和新伺服器憑證 (rds-ca-rsa2048-g1
) 上。
若要辨識您的叢集中正使用舊伺服器憑證的執行個體,請搭配下列參數使用 describe-db-clusters
命令。
aws docdb describe-db-instances \ --filters Name=engine,Values=docdb \ --query 'DBInstances[*].{CertificateVersion:CACertificateIdentifier,InstanceID:DBInstanceIdentifier}'
如何修改 Amazon DocumentDB 叢集中的個別執行個體以更新伺服器憑證?
建議您同時為指定叢集中的所有執行個體更新伺服器憑證。若要修改叢集中的執行個體,您可以使用主控台或 AWS CLI。
注意
更新伺服器憑證前,請先確認您已完成步驟 1。
-
在畫面右上角的 [區域] 清單中,選擇叢集所 AWS 區域 在的位置。
-
在主控台左側的導覽窗格中,選擇 [叢集]。
-
憑證授權單位欄 (靠近表格最右側) 會顯示哪些執行處理仍在舊伺服器憑證上 (
rds-ca-2019
)。 -
在「叢集」表格的「叢集 ID」底下,選取要修改的執行處理。
-
選擇 Actions (動作),然後選擇 Modify (修改)。
-
在 Certificate authority (憑證授權單位) 下方,選取此執行個體新的伺服器憑證 (
rds-ca-rsa2048-g1
)。 -
您可以在下一頁上查看變更摘要。請注意,修改執行個體之前,會出現其他提醒來提醒您確保應用程式正使用最新的憑證 CA 套件,以免導致連線中斷。
-
您可以在下次維護時段中套用修改,或立即套用。
-
選擇 Modify instance (修改執行個體) 以完成更新。
完成下列步驟,以使用識別和輪換現有 Amazon DocumentDB 執行個體的舊伺服器憑證。 AWS CLI
-
若要立即修改執行個體,請對叢集中的每個執行個體執行下列命令。
aws docdb modify-db-instance --db-instance-identifier
<yourInstanceIdentifier>
--ca-certificate-identifier rds-ca-rsa2048-g1 --apply-immediately -
若要修改叢集內的執行個體,以在叢集的下一個維護時段使用新的憑證授權機構憑證,請對叢集中的每個執行個體執行下列命令。
aws docdb modify-db-instance --db-instance-identifier
<yourInstanceIdentifier>
--ca-certificate-identifier rds-ca-rsa2048-g1 --no-apply-immediately
如果我將新的執行個體新增至現有叢集,會發生什麼情況?
所有建立的新執行個體都使用舊的伺服器憑證,且需要使用舊 CA 憑證進行TLS連線。在 2024 年 1 月 25 日之後建立的任何新的 Amazon DocumentDB 執行個體都將預設使用新憑證 2048-g1。 rds-ca-rsa
如果我的叢集發生執行個體替換或容錯移轉作業,會發生什麼情況?
如果您的叢集發生執行個體替換作業,建立的新執行個體會繼續使用執行個體之前使用的相同伺服器憑證。我們建議您同時為所有執行個體更新伺服器憑證。如果我的叢集發生容錯移轉作業,會在新的主要伺服器上會使用伺服器憑證。
如果我不使用連線TLS到叢集,是否還需要更新每個執行個體?
我們強烈建議您啟用TLS。如果您未啟用TLS,我們仍建議您輪換 Amazon DocumentDB 執行個體上的憑證,以防您 future 打算用TLS來連線到叢集。如果您從未打算用來連線TLS到 Amazon DocumentDB 叢集,則不需要採取任何動作。
如果我未使用連線TLS到叢集,但 future 打算連線到叢集,該怎麼辦?
如果您在 2024 年 1 月之前建立叢集,請遵循上一節中的步驟 1 和步驟 2,以確保您的應用程式正在使用更新的 CA 服務包,而且每個 Amazon DocumentDB 執行個體都使用最新的伺服器憑證。如果您在 2024 年 1 月 25 日之後建立叢集,您的叢集將已經擁有最新的伺服器憑證 (rds-ca-rsa2048-g1)。若要驗證您的應用程式是否使用最新的 CA 套件,請參閱 如果我不使用連線TLS到叢集,是否還需要更新每個執行個體?
截止日期可以延長 2024 年 8 月以後嗎?
如果您的應用程式透過連線TLS,則無法延長截止日期。
我如何確定自己使用的是最新的 CA 套件?
若要確認您擁有最新的套裝軟體,請使用下列指令。要運行這個命令,你必須安裝 Java 和 Java 工具需要在你的 shell 的PATH變量。如需詳細資訊,請參閱使用 Java
keytool -printcert -v -file global-bundle.pem
keytool -printcert -v -file global-bundle.p7b
為什麼我在 CA 服務包的名稱中看到 RDS ""?
對於某些管理功能,例如憑證管理,Amazon DocumentDB 會使用與 Amazon Relational Database Service 服務 (AmazonRDS) 共用的操作技術。
新憑證何時過期?
新的伺服器憑證將過期 (一般而言),如下所示:
-
rds-ca-rsa2048- 一零二六一年到期
-
rds-ca-rsa四零六-二一二一二十一年到期
-
rds-ca-ecc384-一百二十一年有效期
如果我沒有在憑證到期前採取行動,我會看到什麼樣的錯誤?
錯誤消息將根據您的驅動程序而有所不同。一般而言,您會看到包含「憑證已過期」字串的憑證驗證錯誤。
如果我套用新的伺服器憑證,我可以還原為舊的伺服器憑證嗎?
如果您需要將執行個體還原為舊憑證,建議您對叢集中的所有執行個體都這樣做。您可以使用 AWS Management Console 或來回復叢集中每個執行個體的伺服器憑證 AWS CLI。
-
在畫面右上角的 [區域] 清單中,選擇叢集所 AWS 區域 在的位置。
-
在主控台左側的導覽窗格中,選擇 [叢集]。
-
在「叢集」表格的「叢集 ID」底下,選取要修改的執行處理。選擇 Actions (動作),然後選擇 Modify (修改)。
-
在 Certificate authority (憑證授權單位) 下方,您可以選取舊的伺服器憑證 (
rds-ca-2019
)。 -
選擇 Continue (繼續) 以檢視修改摘要。
-
在此產生的頁面中,您可以選擇排程要在下一次維護時段中套用的修改項目,或立即套用修改項目。進行選取,並選擇 Modify instance (修改執行個體)。
注意
若您選擇立即套用您的修改項目,則系統會一併套用待定修改佇列內的任何變更。如果有任何待定修改需要停機才能執行,則選擇此選項可能會導致未預期的停機。
aws docdb modify-db-instance --db-instance-identifier
<db_instance_name>
ca-certificate-identifier rds-ca-2019<--apply-immediately | --no-apply-immediately>
如果選擇 --no-apply-immediately
,將在叢集的下一個維護時段套用變更。
如果我們從快照或時間點還原回復,是否會有新的伺服器憑證?
如果您在 2024 年 8 月之後 point-in-time 還原快照或執行還原,則建立的新叢集將使用新的 CA 憑證。
如果我無法從任何 Mac 作業系統直接連線到我的 Amazon DocumentDB 叢集,該怎麼辦?
Mac OS 已更新受信任憑證的需求。信任憑證現在的有效期必須在 397 天以內 (請參閱https://support.apple.com/en-us/HT211025
注意
在較新版本的 Mac OS 中觀察到此限制。
Amazon DocumentDB 執行個體憑證的有效期限超過四年,超過 Mac 作業系統上限。若要從執行 Mac OS 的電腦直接連線到 Amazon DocumentDB 叢集,您必須在建立連線時允許無效的TLS憑證。在此情況下,無效的憑證表示有效期超過 397 天。在連線到 Amazon DocumentDB 叢集時,您應該先瞭解這些風險,才允許無效的憑證。
若要使用從 Mac 作業系統連接到 Amazon DocumentDB 叢集 AWS CLI,請使用參數tlsAllowInvalidCertificates
。
mongo --tls --host <hostname> --username <username> --password <password> --port 27017 --tlsAllowInvalidCertificates