全部產品
Search
文件中心

ApsaraDB RDS:列加密

更新時間:Jun 24, 2025

通過資料資訊安全中心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服務

從未使用資料資訊安全中心,需開通DSC服務

開通DSC服務並啟用列加密功能後,可獲得列加密免費規格,如需更多列加密數,可額外購買。列加密功能僅適用於Data Security Center (DSC)免費版企業版僅購買增值服務版的使用者。

版本

免費規格

免費版

1列。

企業版

1列。

僅購買增值服務版

1列。

  1. 訪問資料資訊安全中心購買頁,並登入您的阿里雲帳號。

  2. 選擇合適的版本,並開通列加密功能。

    image

  3. 單擊立即購買並完成支付。

  4. 您可以在工作台頁面查看購買版本的功能規格。

已使用資料資訊安全中心,需檢查DSC版本與列加密額度,根據需求升級DSC服務

檢查DSC版本與列加密額度

您可以登入資料資訊安全中心控制台,在總覽頁面檢查DSC版本與列加密額度:

  • DSC版本:列加密功能僅適用於免費版企業版僅購買增值服務版的使用者。

  • 列加密額度:檢查列加密額度是否滿足業務需求。

image

升級DSC服務

當您的DSC版本不符或列加密額度不滿足業務需求時,可以升級DSC服務擷取更多列加密數。

當前僅支援進階版升級到企業版,或在同版本下靈活升級模組能力(如增加支援的列加密的列數等。其他版本不支援升級,您可以採用以下方式變更版本:

  • 免費版:可以在保留免費版資源的情況下,購買付費版本(如企業版、僅採購增值服務版等)。

  • 企業版或僅採購增值服務:需先退款再重新購買其他版本,但原版本執行個體及執行個體內的資料會被釋放。

  • 升級執行個體配置不支援修改購買時間長度,即當前執行個體的剩餘服務時間長度不變。

  1. 登入資料資訊安全中心控制台

  2. 工作台頁面,單擊升級

  3. 在資料資訊安全中心的升級頁面,您可以選擇升級至企業版,或者在目前的版本中開通併購買列加密數。

  4. 單擊立即購買並完成支付。

  5. 您可以在工作台頁面查看變更後的功能規格。

2.授權DSC訪問雲資源

完成授權後,DSC執行個體才能訪問OSS、RDS、MaxCompute等雲端服務的資源。

  1. 登入資料資訊安全中心控制台

  2. RAM授權對話方塊中,單擊立即授權

    說明

    如未彈出RAM授權對話方塊,說明您已授權DSC訪問雲資源。

3.授權資料庫資產

在使用DSC檢測雲產品(包括RDS、PolarDB等)中存在的敏感性資料或審計資料庫活動前,您需要先完成資產執行個體授權。

  1. 登入資料資訊安全中心控制台,在左側導覽列,選擇资产中心

  2. 資產管理頁簽中,單擊資產授權管理

  3. 資產授權管理頁面左側產品名稱導覽列中,選擇需要授權的資料類型,並單擊資產同步

    說明

    購買DSC執行個體後,首次登入控制台會立即執行雲上資產列表同步任務,此時無需執行資產同步操作。後續新增的資料資產DSC會每天淩晨進行掃描並自動同步到對應資產的未授權列表中。存量使用者則需要在资产中心 > 資產中心頁簽中的資產授權管理,手動執行資產同步操作。

  4. 單擊目標資產操作列的授權

    需要大量授權時,選中目標資產,並單擊批量授權

4.串連資料庫並執行敏感性資料識別任務

  1. 登入資料資訊安全中心控制台,在左側導覽列,選擇资产中心

  2. 資產中心頁簽中,單擊目標資產執行個體操作列的關聯賬號

  3. 關聯賬號面板,單擊目標資料庫操作列的添加凭据

  4. 添加凭据對話方塊,選擇憑據,保持選中或取消選中立即扫描数据资产并进行数据识别,單擊確定

    若您未建立憑據,需要在添加凭据對話方塊中單擊新建凭据頁簽,設定資料庫登入帳號憑證的凭据名称用户名密码凭据类型,並單擊確定

    重要
    • 勾選立即扫描数据资产并进行数据识别,DSC會自動建立並立即執行系統預設識別任務。識別任務會讀取資料庫中的資料,消耗資料庫讀效能,建議您在業務低峰期執行一鍵串連操作。

    • 未勾選立即扫描数据资产并进行数据识别,您可以前往導覽列中選擇分类分级 > 任務管理,在識別任務頁簽中的系統默認任務列表中執行重掃,手動執行系統預設任務。

  5. 單擊資料庫執行個體左側的展開表徵圖表徵圖,查看資料庫的串連狀態和功能狀態。

    image

開啟列加密

  1. 登入資料資訊安全中心控制台在左側導覽列,選擇風險治理 > 列加密

    重要

    加密檢查列顯示通過才能開啟與配置對應資料庫的列加密。如顯示未通過,可能是資料庫大版本或核心小版本不支援使用列Data Encryption Service,具體內容請參見本文常見問題

  2. 單擊資料庫執行個體列表上方的一键加密,為所有未加密列配置列加密。

    或著您也可以單擊目標資料庫執行個體對應操作列的一键加密,為目標資料庫執行個體配置列加密。

    image

  3. 加密配置面板,選擇待加密的資產類型實例名稱明文权限账号以及選擇需要配置列加密的目標,然後單擊確定。您需要注意以下事項:

    • RDS PostgreSQL僅支援AES-256-GCM密碼編譯演算法和本地加密的加密方式。

    • 完成加密配置後,RDS PostgreSQL資料庫帳號預設許可權為密文权限(JDBC解密),預設訪問加密列的密文資料,支援通過用戶端代碼使用本地密鑰解密後查看原始明文資料。

    • 如您需要直接存取明文資料,可以在明文許可權帳號處添加相應的資料庫帳號,該帳號擁有明文許可權,可以直接存取加密列的明文資料。

      重要

      如您需要對資料庫內的最新資料進行敏感性資料分類分級,則被設定為憑據的資料庫帳號(串連DSC與RDS PostgreSQL執行個體時使用的資料庫帳號)需要擁有明文許可權

修改列加密配置

修改加密列範圍

開啟列加密後,您可以根據自身需求,單獨開啟或關閉資料庫執行個體內指定列的列加密功能,實現加密列範圍的修改。

  1. 登入資料資訊安全中心控制台在左側導覽列,選擇風險治理 > 列加密

  2. 在執行個體列表展開目標執行個體,在資料庫列表,找到目標名稱,單擊开启加密关闭加密,配置單列加密。

    image

修改資料庫帳號許可權

除了已設定為明文权限的帳號,資料庫執行個體的其他帳號均為密文权限(JDBC解密)。您可以根據業務情境需要,修改帳號許可權為明文权限密文权限(JDBC解密)

  1. 登入資料資訊安全中心控制台

  2. 風險治理 > 列加密頁面,單擊账号数据地區的权限设置

    您也可以在執行個體列表的操作列,單擊編輯,在编辑配置面板中,單擊賬號權限配置

  3. 账号权限设置面板,搜尋目標執行個體和帳號,查看當前帳號許可權。

    說明

    若新增資料庫帳號未在列表中顯示,請先完成資產同步後再查看。

  4. 單擊目標帳號對應操作列的修改权限

    您也可以選中多個具備相同許可權的目標帳號,單擊列表下方的批量修改权限

  5. 在修改許可權對話方塊,選中目標許可權,單擊確定

驗證列加密結果

您可以設定資料庫列加密和資料庫帳號許可權,驗證列加密結果。

  1. 將一個RDS PostgreSQL 16版本的資料庫執行個體接入DSC並完成敏感性資料分類分級,對RDS執行個體內的指定列(students01表的birth_date列為例)開啟列加密。同時,將RDS執行個體內的一個資料庫帳號使用權限設定為明文权限,另一個帳號保持密文权限(JDBC解密)image

  2. 使用帶有密文許可權(JDBC解密)的帳號通過DMS登入資料庫,執行SELECT * FROM students01;語句查看資料表,加密列會返回密文資料。image

  3. 使用帶有明文許可權的帳號通過DMS登入資料庫,執行SELECT * FROM students01;語句查看資料表,加密列會返回明文資料。image

用戶端使用說明

如果您的資料庫帳號許可權為密文許可權(JDBC解密),您可以使用列加密驅動(JDBC)接入目標RDS資料庫,通過Java應用程式訪問資料庫中加密的列資料。JDBC能夠自動完成密文資料的解密並返回明文資料,過程對應用透明。具體內容,請參見列加密驅動(JDBC)

常見問題

RDS執行個體的加密檢查“未通過”怎麼辦?

如果已授權接入的RDS PostgreSQL資料庫的版本不是PostgreSQL 16、核心版本小於20250228或為唯讀執行個體,加密檢查列會顯示未通過

  • 資料庫版本不支援

    如果確認目標RDS資料庫需要進行列加密配置,您可以訪問RDS執行個體列表,找到目標執行個體,升級資料庫版本。具體操作,請參見升級資料庫大版本

  • 核心版本不支援

    image

    如果確認目標RDS資料庫需要進行列加密配置,您可以單擊升級資料庫核心,選擇升級版本升級時間,然後單擊確定,進行核心版本升級。詳細說明,請參見升級核心小版本。完成資料庫核心升級後,該RDS資料庫才支援開啟列加密。

    image

  • 唯讀執行個體

    由於建立唯讀執行個體時會從備執行個體複製資料,資料與主執行個體一致,主執行個體的資料更新也會在主執行個體完成操作後立即自動同步到所有隻讀執行個體,因此您可以在主執行個體進行列加密配置。

完成版本升級後,您需要在DSC控制台完成資產同步操作,同步資料庫最新資訊。

  1. 在左側導覽列,選擇資產中心,然後在授權管理頁簽,單擊資產授權管理

  2. 資產授權管理面板左側產品名稱導覽列,單擊目標執行個體類型。

  3. 資產授權管理面板中,單擊資產同步

相關內容