全部產品
Search
文件中心

ApsaraDB for MongoDB:設定透明資料加密TDE

更新時間:Aug 20, 2026

透明資料加密TDE(Transparent Data Encryption)可對資料檔案執行即時I/O加密和解密,資料在寫入磁碟之前進行加密,從磁碟讀入記憶體時進行解密。TDE不會增加資料檔案的大小,您無需更改任何應用程式,即可使用TDE功能。為提高資料安全性,您可以通過控制台啟用TDE功能,對執行個體資料進行加密。

前提條件

  • 執行個體的儲存類型與架構需滿足以下條件:

    • 本地碟執行個體:支援複本集和分區叢集,資料庫版本為4.0或4.2版本。

    • 雲端硬碟執行個體:支援複本集,資料庫版本為4.2至8.3(全版本)。

  • 執行個體的儲存引擎為WiredTiger。

  • 開通KMS

如果您的執行個體不滿足執行個體架構或儲存引擎的條件,您可以通過其他方式變更,詳情請參見變更執行個體配置概覽

影響

  • 開通TDE功能的過程中,執行個體會重啟一次並出現串連閃斷,閃斷期間不會導致資料丟失,已提交的寫入不受影響,建議您在業務低峰期操作並確保應用有重連機制。

  • 開通TDE功能後,會增加執行個體的CPU使用率。

  • 加密後的集合不再支援通過物理備份恢複至自建資料庫。如果您需要將加密後的集合恢複到自建資料庫,您可以通過邏輯備份恢複至自建資料庫,具體請參見通過邏輯備份恢複至自建資料庫

注意事項

  • TDE功能開通後無法關閉。

  • 已開通TDE功能的執行個體釋放後,不支援從資源回收筒中恢複。

  • 當前TDE功能的開通粒度為執行個體,僅支援對集合進行加密。如果您需要對欄位進行加密,請參見手動欄位級加密(僅支援MongoDB 4.2版本執行個體)。

    說明

    如果業務上有特殊需求,您可以在建立集合時,指定該集合不被加密。如何設定,請參見設定指定的集合不被加密

  • TDE功能開通後,僅加密新建立的集合,已有的集合不會被加密。

  • TDE功能所使用的密鑰,由Key Management Service(Key Management Service)統一產生和管理,ApsaraDB for MongoDB不提供加密所需的密鑰和認證。Key Management Service的更多資訊,請參見什麼是Key Management Service

  • 執行個體開通TDE加密後,不支援更換密鑰。如需更換密鑰,您可以使用DTS將資料移轉到使用新密鑰的新執行個體上,如何遷移資料,請參見ApsaraDB for MongoDB執行個體間遷移

  • 開啟TDE後,由於加密金鑰綁定在特定可用性區域,通過按備份點或按時間點恢複至新執行個體時,僅支援恢複到密鑰所在的可用性區域,暫不支援跨可用性區域恢複。

  • 請確保TDE所使用的KMS密鑰始終處於可用狀態。一旦該密鑰被禁用、刪除或欠費,執行個體將被鎖定並變為不可用,且已有備份也將無法用於恢複。

操作步驟

  1. 訪問MongoDB複本集執行個體列表MongoDB分區叢集執行個體列表,在上方選擇資源群組和地區,然後單擊目標執行個體ID。

  2. 在目標執行個體頁面的左側導覽列,單擊數據安全性 > TDE

  3. 開啟TDE狀態:右側的開關。

  4. 在彈出的開通TDE對話方塊中,根據實際需要選擇產生方式。

    • 使用自動產生秘鑰:使用系統自動產生的密鑰。

    • 使用自訂秘鑰:根據業務需要,在下拉式清單中選擇密鑰。如果下拉式清單中不存在目標密鑰,您可以先建立密鑰,然後進行選擇。建立方法請參見建立密鑰

  5. 單擊確定

    執行個體進入TDE修改中狀態,當轉變為運行中狀態時,代表操作完成。

查看加密金鑰資訊

開啟TDE後,如需查看執行個體加密金鑰的資訊(例如密鑰所在的可用性區域),可調用查詢MongoDB執行個體的某個密鑰的詳情介面查詢,控制台暫不支援查看密鑰詳情。

設定指定的集合不被加密

開啟TDE加密後,所有新建立的集合都會被加密。如果業務上有特殊需求,您可以在建立集合時,指定該集合不被加密。

  1. 通過Mongo Shell串連資料庫。如何串連,請參見串連複本集執行個體串連分區叢集執行個體

  2. 執行如下命令建立集合,指定該集合不被加密。

    • 文法:

      db.createCollection("<collection_name>",{ storageEngine: { wiredTiger: { configString: "encryption=(name=none)" } } })
      說明

      命令中的collection_name為集合名。

    • 樣本:

      db.createCollection("customer",{ storageEngine: { wiredTiger: { configString: "encryption=(name=none)" } } })

TDE與雲端硬碟加密如何選擇

ApsaraDB for MongoDB提供TDE和雲端硬碟加密兩種待用資料加密方式,均可滿足三級等保對儲存保密性的要求。兩者防護的都是資料在儲存介質上被非法擷取的風險,請根據要防護的威脅情境選擇。

威脅情境

雲端硬碟加密

TDE

物理介質泄漏時,資料檔案

防護

防護

物理介質泄漏時,OS日誌等非資料檔案

防護(整盤加密)

不防護(僅加密資料檔案)

物理備份檔案被匯出後泄漏

視存放位置(雲上快照延續加密)

防護(物理備份為密文,無KMS密鑰無法解密)

持資料庫帳號者訪問資料

不防護

不防護

資料轉送被竊聽

不防護

不防護

靜態加密不能替代存取控制和傳輸加密。防止合法帳號越權訪問,請參見MongoDB資料庫帳號許可權管理並配合開通審計日誌;防止傳輸鏈路被竊聽,請參見設定SSL加密

選型建議:

  • 要讓物理備份或匯出檔案也保持密文,選擇TDE。

  • 要讓整盤(含OS日誌等所有檔案)都加密,選擇雲端硬碟加密

  • 若已開啟雲端硬碟加密,其防護已覆蓋絕大多數介質級泄露情境,通常無需再疊加TDE。