通過資料資訊安全中心DSC(Data Security Center)提供的列加密功能,可以實現對RDS PostgreSQL敏感列資料加密訪問,防止非授權人員通過雲平台軟體或資料庫連接工具直接存取敏感性資料明文。該功能可確保列資料在資料庫內可用但不可見,有效防禦來自雲平台內部與外部的安全威脅,從而使雲上資料真正成為使用者的私人資產。
前提條件
執行個體大版本為RDS PostgreSQL 16且核心小版本在20250228及以上。
執行個體位於以下地區內:
地區類型
地區名稱
中國內地
華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華東1(杭州)、華東2(上海)、華南1(深圳)、華南3(廣州)、西南1(成都)。
非中國內地
中國香港、新加坡(新加坡)、馬來西亞(吉隆坡)、印尼(雅加達)、德國(法蘭克福)。
功能簡介
RDS PostgreSQL的列加密功能由資料資訊安全中心DSC提供,其採用AES-256-GCM密碼編譯演算法和本地密鑰的加密方式,可對資料庫中的敏感性資料列進行加密配置,確保敏感性資料加密後儲存,並支援已授權使用者通過全密態用戶端解密後訪問明文資料,您可以自行選擇與修改待加密的RDS PostgreSQL執行個體、資料庫、表及列範圍。
準備工作
在開啟列加密功能前,您需要依次完成以下步驟:開通或升級DSC服務、授權DSC訪問雲資源、授權資料庫資產、串連資料庫並執行敏感性資料識別任務。
1.開通或升級DSC服務
2.授權DSC訪問雲資源
3.授權資料庫資產
4.串連資料庫並執行敏感性資料識別任務
開啟列加密
登入資料資訊安全中心控制台。在左側導覽列,選擇。
重要加密檢查列顯示通過才能開啟與配置對應資料庫的列加密。如顯示未通過,可能是資料庫大版本或核心小版本不支援使用列Data Encryption Service,具體內容請參見本文常見問題。
單擊資料庫執行個體列表上方的一键加密,為所有未加密列配置列加密。
或著您也可以單擊目標資料庫執行個體對應操作列的一键加密,為目標資料庫執行個體配置列加密。

在加密配置面板,選擇待加密的資產類型、實例名稱、明文权限账号以及選擇需要配置列加密的目標库、錶和列,然後單擊確定。您需要注意以下事項:
RDS PostgreSQL僅支援
AES-256-GCM密碼編譯演算法和本地加密的加密方式。完成加密配置後,RDS PostgreSQL資料庫帳號預設許可權為密文权限(JDBC解密),預設訪問加密列的密文資料,支援通過用戶端代碼使用本地密鑰解密後查看原始明文資料。
如您需要直接存取明文資料,可以在明文許可權帳號處添加相應的資料庫帳號,該帳號擁有明文許可權,可以直接存取加密列的明文資料。
重要如您需要對資料庫內的最新資料進行敏感性資料分類分級,則被設定為憑據的資料庫帳號(串連DSC與RDS PostgreSQL執行個體時使用的資料庫帳號)需要擁有明文許可權。
修改列加密配置
修改加密列範圍
開啟列加密後,您可以根據自身需求,單獨開啟或關閉資料庫執行個體內指定列的列加密功能,實現加密列範圍的修改。
登入資料資訊安全中心控制台。在左側導覽列,選擇。
在執行個體列表展開目標執行個體,在資料庫列表,找到目標库、錶和列名稱,單擊开启加密或关闭加密,配置單列加密。

修改資料庫帳號許可權
除了已設定為明文权限的帳號,資料庫執行個體的其他帳號均為密文权限(JDBC解密)。您可以根據業務情境需要,修改帳號許可權為明文权限或密文权限(JDBC解密)。
登入資料資訊安全中心控制台。
在頁面,單擊账号数据地區的权限设置。
您也可以在執行個體列表的操作列,單擊編輯,在编辑配置面板中,單擊賬號權限的配置。
在账号权限设置面板,搜尋目標執行個體和帳號,查看當前帳號許可權。
說明若新增資料庫帳號未在列表中顯示,請先完成資產同步後再查看。
單擊目標帳號對應操作列的修改权限。
您也可以選中多個具備相同許可權的目標帳號,單擊列表下方的批量修改权限。
在修改許可權對話方塊,選中目標許可權,單擊確定。
驗證列加密結果
您可以設定資料庫列加密和資料庫帳號許可權,驗證列加密結果。
將一個RDS PostgreSQL 16版本的資料庫執行個體接入DSC並完成敏感性資料分類分級,對RDS執行個體內的指定列(以
students01表的birth_date列為例)開啟列加密。同時,將RDS執行個體內的一個資料庫帳號使用權限設定為明文权限,另一個帳號保持密文权限(JDBC解密)。
使用帶有密文許可權(JDBC解密)的帳號通過DMS登入資料庫,執行
SELECT * FROM students01;語句查看資料表,加密列會返回密文資料。
使用帶有明文許可權的帳號通過DMS登入資料庫,執行
SELECT * FROM students01;語句查看資料表,加密列會返回明文資料。
用戶端使用說明
如果您的資料庫帳號許可權為密文許可權(JDBC解密),您可以使用列加密驅動(JDBC)接入目標RDS資料庫,通過Java應用程式訪問資料庫中加密的列資料。JDBC能夠自動完成密文資料的解密並返回明文資料,過程對應用透明。具體內容,請參見列加密驅動(JDBC)。
常見問題
RDS執行個體的加密檢查“未通過”怎麼辦?
相關內容
資料庫列加密的功能和原理,請參見列加密概述。
如果授權後資料庫敏感列資料發生變化,需重新掃描。具體操作,請參見通過識別任務掃描敏感性資料。




