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分布式版叢集。
-
背景資訊
TDE通過在資料庫層執行待用資料加密,阻止可能的攻擊者繞過資料庫直接從儲存中讀取敏感資訊。經過資料庫身分識別驗證的應用和使用者可以繼續透明地訪問應用資料(不需要更改應用代碼或配置),而嘗試讀取資料表空間檔案中的敏感性資料的OS使用者以及嘗試讀取磁碟或備份資訊的不法之徒將不允許訪問明文資料。
PolarDB PostgreSQL版TDE加密使用的密鑰由Key Management Service(KMS)產生和管理,PolarDB不提供加密所需的密鑰和認證。您不僅可以使用阿里雲自動產生的密鑰,也可以使用內建的密鑰材料產生資料密鑰,然後授權PolarDB使用。
注意事項
-
TDE功能開通後無法關閉。
-
對於I/O密集型(I/O bound)情境,開通TDE後可能會對資料庫效能產生一定影響。
操作步驟
建立叢集過程中開啟TDE,請參考建立資料庫叢集。以下為您介紹如何在已存在PolarDB叢集開啟TDE功能。
啟用TDE加密會導致PolarDB叢集重啟,請謹慎操作。
-
登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。
-
在左側導覽列單擊。
-
在TDE配置頁簽,開啟TDE状态開關。
開通 TDE 後不可關閉,請謹慎操作。
-
在對話方塊中,選擇使用服务密钥(阿里云自动生成)或使用已有自定义密钥。
-
如果您選擇使用服务密钥(阿里云自动生成),單擊确定,開通TDE。
開通TDE注意事項:開啟TDE會重啟PolarDB執行個體;禁用密鑰、設定密鑰計劃刪除或刪除密鑰材料都會造成密鑰不可用;撤銷授權關係後重啟會造成執行個體不可用;操作人必須是主帳號或具有
AliyunSTSAssumeRoleAccess許可權的帳號;開通TDE大約需要10分鐘;目前支援的密鑰類型為Aliyun_AES_256。 -
如果您選擇使用已有自定义密钥,下拉選擇由Key Management Service(KMS)產生的密鑰,單擊确定,開通TDE。
在 設定TDE 對話方塊中,還可配置 TDE密鑰自動輪轉 開關(預設關閉)。開通TDE注意事項:開啟TDE會重啟PolarDB執行個體;禁用密鑰會造成密鑰不可用;撤銷授權關係後重啟會造成執行個體不可用;操作人需為主帳號或具有AliyunSTSAssumeRoleAccess許可權;開通約10分鐘完成;支援通行金鑰類型為Aliyun_AES_256。
-
-
目前支援的密鑰類型為Aliyun_AES_256。
-
使用已有自訂密鑰時,需要滿足以下條件:
-
需要使用阿里雲主帳號或者是具有AliyunSTSAssumeRoleAccess許可權的帳號。
-
禁用密鑰,設定了密鑰計劃刪除或者刪除密鑰材料都會造成密鑰不可用。
-
撤銷授權關係後,重啟PolarDB叢集會導致叢集不可用。
-
-
如果沒有自訂密鑰,需要單擊前往创建,在Key Management Service控制台建立密鑰並匯入內建的密鑰材料,詳情請參考建立密鑰。
開通TDE大約需要10分鐘,請您耐心等待。
查看TDE狀態
-
登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。
-
在左側導覽列單擊。
-
在TDE配置頁簽,查看TDE状态開關。
切換為自訂密鑰
-
登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。
-
在左側導覽列單擊。
-
在TDE配置頁簽,單擊TDE状态開關。
-
TDE 開通後不可關閉,請謹慎操作。
-
在對話方塊中,選擇使用已有自定义密钥,下拉選擇由Key Management Service(KMS)產生的密鑰,單擊确定,開通TDE。
說明使用已有自訂密鑰的注意事項請參考操作步驟下的說明。
進階選項
-
僅選擇使用已有自訂密鑰時,支援開啟TDE密鑰自動輪轉。
-
PolarDB並不會更新自訂密鑰的主要金鑰版本,您可以手動更新密鑰版本或更改密鑰輪轉策略,具體操作請參考密鑰輪轉。
-
PolarDB叢集在檢測到自訂密鑰的主要金鑰版本更新後,將於下次營運時間視窗內輪轉TDE的密鑰,該過程PolarDB叢集將發生重啟。
開啟進階選項TDE密鑰自動輪轉功能支援以下兩種方式:
-
開通TDE並選擇使用自訂密鑰時,您可以在设置TDE對話方塊中,開啟高级选项中的TDE密钥自动轮转功能。
開啟前請注意:僅自訂密鑰支援通行金鑰自動輪轉;PolarDB 不會自動更新密鑰版本,需參考 KMS 文檔手動操作;開啟後執行個體會在營運視窗內輪轉 TDE 密鑰並重啟。此外,開通 TDE 的注意事項包括:開啟 TDE 會重啟執行個體;禁用或刪除密鑰會造成密鑰不可用;撤銷授權關係後重啟會造成執行個體不可用;操作人須為主帳號或具有 AliyunSTSAssumeRoleAccess 許可權;開通大約 10 分鐘完成;支援的密鑰類型為 Aliyun_AES_256。
-
在使用自訂密鑰開啟TDE後,在设置TDE頁簽,開啟高级选项中的TDE密钥自动轮转功能。
常見問題
-
開啟TDE後,常用資料庫工具(Navicat等)還能正常使用嗎?
答:可以正常使用。
-
加密後查看資料為什麼還是明文的?
答:查詢資料時會解密並讀取到記憶體,所以是明文顯示。開啟TDE後儲存的資料是加密的。
相關API
|
API |
描述 |
|
開啟PolarDB叢集TDE功能或修改加密方式。 |
|
|
查詢PolarDB叢集的TDE設定詳情。 |
|
|
建立PolarDB叢集,開啟透明資料加密TDE。 說明
DBType參數需要為PostgreSQL。 |