日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過SQL配置列加密規則

在使用全密態功能之前,您需要配置數據保護規則。RDS MySQL支持通過配置文件的方式管理數據保護規則,本文介紹通過SQL方式配置數據保護規則的方法及相關API的使用說明。

全密態數據庫會將您配置的數據保護規則內容持久化到數據庫內的系統表上(簡稱全密態元數據表,即mysql.encdb_sensitive_rules和mysql.encdb_auth_users),僅有高權限或者被授權用戶可以進行寫操作。

前提條件

  • RDS MySQL實例的大版本為MySQL 5.7且內核小版本大于等于20231031;大版本為MySQL 8.0且內核小版本大于等于20240430。

    說明

    升級內核小版,請參見升級內核小版本。

  • 已開通全密態功能。

  • 配置數據保護規則的賬號必須是高權限賬號。

注意事項

  • 數據保護規則一旦配置生效,在目標數據庫實例范圍內全局有效,不需要重復配置。

  • 建議使用不同的數據庫賬號,分別用于管理規則和在線應用,如無必要不應使在線應用具備管理權限。

  • 請謹慎授予對全密態元數據表的讀寫權限,否則用戶可能通過修改全密態元數據表內容而繞過全密態安全防護。

SQL API說明

  • add:新增規則

    SELECT encdb_rule_op('add',<rule object json string> or <rules list json string>);

    示例一:新增名為newrule的規則

    SELECT encdb_rule_op('add','{"name":"newrule","enabled":true,"meta":{"databases":["test"],"tables":["test"],"columns":["a","b"]}}');

    示例二:新增名為newrule1和newrule2的規則

    SELECT encdb_rule_op('add','[{"name":"newrule1","enabled":true,"meta":{"databases":["test"],"tables":["test"],"columns":["a","b"]}},{"name":"newrule2","enabled":true,"meta":{"databases":["test2"],"tables":["test2"],"columns":["a","b"]}}]');
  • update:更新規則

    SELECT encdb_rule_op('update',<rule object json string> or <rules list json string>);

    示例一:更新名為newrule的規則

    SELECT encdb_rule_op('update','{"name":"newrule","enabled":true,"meta":{"databases":["test"],"tables":["test"],"columns":["a","b"]}}');

    示例二:更新名為newrule1和newrule2的規則

    SELECT encdb_rule_op('update','[{"name":"newrule1","enabled":true,"meta":{"databases":["test"],"tables":["test"],"columns":["a","b"]}},{"name":"newrule2","enabled":true,"meta":{"databases":["test2"],"tables":["test2"],"columns":["a","b"]}}]');
    說明

    name指定的規則已存在,則對其更新;否則新增name的規則,此時update操作與add操作行為一致。

  • delete:刪除規則

    SELECT encdb_rule_op('delete',<rule name json string> or <rule name list json string>);

    示例一:刪除名為delrule的規則

    SELECT encdb_rule_op('delete','"delrule"');

    示例二:刪除名為delrule1和delrule1的規則

    SELECT encdb_rule_op('delete','["delrule1","delrule2"]');
    說明

    params內容總是為JSON格式,因此在刪除一條規則時,規則名需要寫成"xxx"而不直接是xxx,例如'"delrule"'而不是'delrule'。

  • grant:用戶授權或撤銷授權

    說明

    用戶授權是必選操作。

    授權或撤銷授權

    SELECT encdb_rule_op('grant',<users object json string>);

    示例一:授予appuser以及test_user用戶受限訪問權限

    SELECT encdb_rule_op('grant','{"restrictedAccess": ["appuser","test_user"]}'); 

    示例二:撤銷illegal用戶的權限

    SELECT encdb_rule_op('grant','{"noneAccess": ["illegal"]}'); 

    示例三:授予appuser以及test_user用戶受限訪問權限,撤銷illegal用戶的權限

    SELECT encdb_rule_op('grant','{"restrictedAccess": ["appuser","test_user"], "noneAccess": ["illegal"]}'); 
    說明

    授權或撤銷的用戶必須是在數據庫中已經存在的用戶。

    授予用戶臨時完全訪問權限

    出于易用性考慮,為方便用戶進行臨時明文數據運維,全密態數據庫為用戶提供了授權用戶fullAccess權限訪問的選擇,被授予該權限的用戶將以明文方式訪問數據庫:

    • 此時數據保護規則對用戶不生效,被授權用戶可以在數據庫中直接查詢到明文。

    • 出于安全性考慮,授權時間窗口應盡可能短,且非必要不建議用戶授予該權限。用戶需要明確自身需求,選擇使用該授權操作時需要自行承擔相關風險。

    • expired參數取值需要在MySQL允許范圍內,即1970-01-02 00:00:012038-01-18 03:14:07之間。

    示例:授予dba用戶臨時完全訪問權限

    SELECT encdb_rule_op('grant','{"fullAccess": ["dba"], "expired": "2023-08-21 14:21:30"}');