注意
本功能尚在小范圍公測中,請注意評估功能可能帶來的風險并謹慎使用。
前提條件
已創建庫表。
目標庫表為分片表,且已設置分片規則。設置分片規則的操作,請參見庫表管理。
背景信息
DRDS支持字段級別的加解密,通過該功能,可以為您的庫表字段進行加密,提高數據安全性。
開啟字段加密后,DRDS根據用戶配置的字段,將DML類型的SQL語句中對應的字段重寫為加密內容后寫入到底層數據中。對DQL類型的SQL,如果用戶有解密權限,會根據字段解密被加密的字段內容。適用于需要對用戶身份證、電話號碼等敏感信息加密的場景。
使用限制
僅V5.1.20.0.4及以后版本創建的實例,支持字段加密功能。
僅支持字符串類型的字段進行加密。
開啟、關閉或修改字段均對存量數據不生效,僅對新增數據生效。
只支持對表的字段進行加密。
注意事項
開啟加密功能后,僅對增量數據進行加密。因此您需要自行處理數據庫中原始的存量數據。
開啟加密功能后,如果您執行的SQL語句含有加密字段,則存在如下限制:
注意
如果您執行的SQL語句不含有加密字段,則不影響SQL語句執行結果。
支持進行like 和等值查詢,比如
name是加密字段時,您可以執行如下操作:select id , name from student where student.name = 'xxx'; select id , name from student where 'xxx ='student.name ;SQL語句中涉及加密的字段,只支持單表的查詢,包括包含單表自身的子查詢,比如 select name from (select name from student ) a ,加密字段的條件只能放到子查詢語句中。
不支持join語句里含有加密字段。
不支持對加密字段進行函數計算。
不支持加密字段作為查詢條件時不區分大小寫功能。如果設置了不區分大小寫功能,則加密后大小寫對應的加密數據沒有大小寫對應關系,不區大小寫功能將會失效。
加密字段不支持比較操作,如:大于、小于、ORDER BY、BETWEEN 等。
加密字段不支持計算操作,如:AVG、SUM 以及計算表達式。
加密字段只支持字符類型。
不支持udpate 加密字段A = 字段B 語法。
開啟字段加密
在天翼云官網首頁的頂部菜單欄,選擇產品 > 數據庫 > 關系型數據庫 > 分布式關系型數據庫,進入分布式關系型數據庫產品頁面。然后單擊管理控制臺,進入概覽頁面。
在左側導航欄,選擇DRDS > 實例管理,進入實例列表頁面。然后在頂部菜單欄,選擇區域和項目。
在實例列表中,找到目標實例,單擊操作列的管理,進入實例基本信息頁面。
單擊schema管理,進入目標實例的Schema管理頁面。
單擊目標schema操作列的管理,然后單擊庫表管理,進入庫表管理頁面。
在庫表列表中,找到目標庫表,在操作選擇更多 > 字段加密。
在字段加密對話框中,打開字段加密功能,配置如下參數。
參數 描述 字段名 選擇加密列。
支持添加多個加密列、設置模糊查詢列。
加密算法 加密的算法,目前支持AES。 密鑰 設置密鑰。
您也可以單擊隨機生成,獲取自動生成的密鑰。
注意
該密鑰設置成功后,不允許修改,請妥善保存密鑰。
單擊確定。
如果您不再需要加密功能,只需在操作列選擇更多 > 字段加密,然后在字段加密對話框中關閉字段加密功能即可。
如果您需要修改或刪除加密的字段,只需在操作列選擇更多 > 字段加密,然后在字段加密對話框中修改加密字段即可。
字段解密
當用戶擁有加解密權限(DECRYPT權限)后,DRDS會自動解密被加密的字段,用戶即可查看解密字段內容。添加權限的具體操作,請參見設置權限。