全部產品
Search
文件中心

PolarDB:設定透明資料加密TDE

更新時間:Jan 23, 2026

PolarDB PostgreSQL版提供了透明資料加密TDE(Transparent Data Encryption)功能。TDE可對資料檔案執行即時I/O加密和解密,資料在寫入磁碟之前進行加密,從磁碟讀入記憶體時進行解密。TDE不會增加資料檔案的大小,開發人員無需更改任何應用程式,即可使用TDE功能。

適用範圍

  • 已開通KMS。具體操作請參見購買專屬KMS執行個體

  • 已授權PolarDB訪問KMS。具體操作請參見授權PolarDB訪問KMS

  • PolarDB PostgreSQL版叢集需滿足如下要求:

    • 核心版本:

      • PostgreSQL 14(核心小版本2.0.14.12.23.1及以上)

      • PostgreSQL 16(核心小版本2.0.16.9.6.0及以上)

      • PostgreSQL 17(核心小版本2.0.17.6.4.0及以上)

      • PostgreSQL 18(核心小版本2.0.18.0.1.0及以上)

    • 暫不支援PolarDB PostgreSQL分布式版叢集。

說明

您可在控制台查看核心小版本號碼,也可以通過SHOW polardb_version;語句查看。如未滿足核心小版本要求,請升級核心小版本

背景資訊

TDE通過在資料庫層執行待用資料加密,阻止可能的攻擊者繞過資料庫直接從儲存中讀取敏感資訊。經過資料庫身分識別驗證的應用和使用者可以繼續透明地訪問應用資料(不需要更改應用代碼或配置),而嘗試讀取資料表空間檔案中的敏感性資料的OS使用者以及嘗試讀取磁碟或備份資訊的不法之徒將不允許訪問明文資料。

PolarDB PostgreSQL版TDE加密使用的密鑰由Key Management Service(KMS)產生和管理,PolarDB不提供加密所需的密鑰和認證。您不僅可以使用阿里雲自動產生的密鑰,也可以使用內建的密鑰材料產生資料密鑰,然後授權PolarDB使用。

注意事項

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

  • 對於I/O密集型(I/O bound)情境,開通TDE後可能會對資料庫效能產生一定影響。

操作步驟

建立叢集過程中開啟TDE,請參考建立資料庫叢集。以下為您介紹如何在已存在PolarDB叢集開啟TDE功能。

重要

啟用TDE加密會導致PolarDB叢集重啟,請謹慎操作。

  1. 登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。

  2. 在左側導覽列單擊配置与管理 > 安全管理

  3. TDE配置頁簽,開啟TDE状态開關。

    image

  4. 在對話方塊中,選擇使用服务密钥(阿里云自动生成)使用已有自定义密钥

    • 如果您選擇使用服务密钥(阿里云自动生成),單擊确定,開通TDE。

      image

    • 如果您選擇使用已有自定义密钥,下拉選擇由Key Management Service(KMS)產生的密鑰,單擊确定,開通TDE。

      image

說明
  • 目前支援的密鑰類型為Aliyun_AES_256。

  • 使用已有自訂密鑰時,需要滿足以下條件:

    • 需要使用阿里雲主帳號或者是具有AliyunSTSAssumeRoleAccess許可權的帳號。

    • 禁用密鑰,設定了密鑰計劃刪除或者刪除密鑰材料都會造成密鑰不可用。

    • 撤銷授權關係後,重啟PolarDB叢集會導致叢集不可用。

  • 如果沒有自訂密鑰,需要單擊前往创建,在Key Management Service控制台建立密鑰並匯入內建的密鑰材料,詳情請參考建立密鑰

開通TDE大約需要10分鐘,請您耐心等待。

查看TDE狀態

  1. 登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。

  2. 在左側導覽列單擊配置与管理 > 安全管理

  3. TDE配置頁簽,查看TDE状态開關。

切換為自訂密鑰

  1. 登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。

  2. 在左側導覽列單擊配置与管理 > 安全管理

  3. TDE配置頁簽,單擊TDE状态開關。

  4. image

  5. 在對話方塊中,選擇使用已有自定义密钥,下拉選擇由Key Management Service(KMS)產生的密鑰,單擊确定,開通TDE。

    說明

    使用已有自訂密鑰的注意事項請參考操作步驟下的說明。

進階選項

說明
  • 僅選擇使用已有自訂密鑰時,支援開啟TDE密鑰自動輪轉。

  • PolarDB並不會更新自訂密鑰的主要金鑰版本,您可以手動更新密鑰版本或更改密鑰輪轉策略,具體操作請參考密鑰輪轉

  • PolarDB叢集在檢測到自訂密鑰的主要金鑰版本更新後,將於下次營運時間視窗內輪轉TDE的密鑰,該過程PolarDB叢集將發生重啟。

開啟進階選項TDE密鑰自動輪轉功能支援以下兩種方式:

  • 開通TDE並選擇使用自訂密鑰時,您可以在设置TDE對話方塊中,開啟高级选项中的TDE密钥自动轮转功能。

    image

  • 在使用自訂密鑰開啟TDE後,在设置TDE頁簽,開啟高级选项中的TDE密钥自动轮转功能。

    image

常見問題

  • 開啟TDE後,常用資料庫工具(Navicat等)還能正常使用嗎?

    答:可以正常使用。

  • 加密後查看資料為什麼還是明文的?

    答:查詢資料時會解密並讀取到記憶體,所以是明文顯示。開啟TDE後儲存的資料是加密的。

相關API

API

描述

ModifyDBClusterTDE

開啟PolarDB叢集TDE功能或修改加密方式。

DescribeDBClusterTDE

查詢PolarDB叢集的TDE設定詳情。

CreateDBCluster

建立PolarDB叢集,開啟透明資料加密TDE。

說明

DBType參數需要為PostgreSQL