文档

数据保护规则简介

更新时间:

在使用全密态功能之前,您需要配置数据保护规则,规则包括:指定目标数据列为被保护数据、声明数据保护方法(例如加密、脱敏)、授权指定用户访问数据等。本文介绍数据保护规则格式及说明。

规则格式及说明

{
 "version": 20230830,

 "rules": [
   {
     "name": "rule1",
     "enabled": true,
     "meta": {
      "databases": ["test"],
      "tables": ["test"],
      "columns": ["a","b"]
     }
   }
 ],

 "users": {
   "restrictedAccess": ["appuser","test_user"],
   "noneAccess": ["illegal"]
 }
}
  • version:当前规则格式的版本,示例中当前版本为20230830。

  • rules:具体的规则,可以写一条或多条规则。各字段含义如下:

    • name:规则的名字,您需要保证每一条规则名唯一。以encdb_spreaded_rule_开头的规则名留作内部使用,出于安全原因考虑,用户不应该使用(会被拒绝)。

    • enabled:规则是否启用。被设置为false的规则将不会生效。

    • meta:标记了具体哪些库、表、列是被保护数据。其中:

      • databases:被保护的数据库。您可以指定一个或多个目标数据库,也可以用"*"来表示匹配所有数据库。

      • tables:被保护的数据表。您可以指定一个或多个目标数据表,也可以用"*"来表示匹配所有数据表。

      • columns:被保护的数据列。您可以指定一个或多个目标数据列,也可以用"*"来表示匹配所有数据列。

      说明
      • 进行任意查询时,涉及的数据都可以用<数据库,数据表,数据列>来表示。只有当数据库、数据表、数据列都被一条规则中的meta数据匹配上时,数据才会按照规则中指定的算法进行处理。

      • 在设置数据保护规则时,您需要保证不同规则作用的数据范围是互斥的,即每列数据,仅能唯一匹配一条规则,否则全密态数据库无法确定如何选择规则,可能发生非预期的结果。

  • users用户访问数据权限的设定。各权限说明如下:

    说明

    用户权限设定对rules下的所有规则生效。

    • restrictedAccess:部分被保护数据可控访问。服务端返回基于可解密的加密的数据。用户可以使用相同的密钥在客户端解密后获取到明文数据内容。

    • noneAccess:被保护数据全遮掩,不泄露任何原始数据信息。用户不具备访问数据内容的权限。默认所有用户初始化为该权限。当显式配置时,可以撤销已授权用户访问数据的权限。

    • fullAccess:用户可访问所有被保护数据。完全明文操作,服务端返回原始明文数据。

相关文档

配置数据保护规则

  • 本页导读 (1)
文档反馈