数据脱敏 MCP 功能插件帮助用户为 ShardingSphere-Proxy 逻辑库规划、审查、执行和校验数据脱敏规则变更。 脱敏规则直接作用于逻辑列。本功能只生成和应用脱敏规则 DistSQL,不生成物理 DDL、索引建议、数据迁移或额外探测 SQL。
runtimeDatabases 应指向 Proxy 逻辑库,而不是底层物理存储库。用户在集成 ShardingSphere-MCP 的 AI 应用中描述脱敏目标即可。
示例:
<logic-database>.orders.phone 当前是否已有脱敏规则。<logic-database>.orders.phone 规划手机号脱敏,保留前 3 后 4,先预览不要执行。*。用户需要审查计划中的脱敏规则 DistSQL、算法参数和副作用范围,再批准有副作用的执行。
建议在自然语言中说明以下信息:
| 信息 | 说明 | 示例 |
|---|---|---|
| 逻辑库、表和列 | 指定要配置脱敏规则的 ShardingSphere-Proxy 逻辑对象。 | “为 <logic-database>.orders.phone 配置脱敏。” |
| 模式或命名空间 | 多模式逻辑库建议说明。 | “模式是 public。” |
| 操作类型 | 创建、修改或删除脱敏规则。 | “新增脱敏规则”或“删除这个列的脱敏规则”。 |
| 脱敏目标 | 说明保留位数、替换字符或其他脱敏效果。 | “手机号保留前 3 后 4,中间用 * 替换。” |
| 算法偏好 | 可以指定算法,也可以要求 MCP 根据 Proxy 可用算法推荐。 | “列出当前 Proxy 可用的数据脱敏算法。”或“优先使用 keep-first-n-last-m 算法。” |
| 算法参数 | 例如保留位数和替换字符。 | “保留前 3 后 4,替换字符是 *。” |
| 操作 | 自然语言示例 | 需要审查的内容 |
|---|---|---|
| 创建 | “为 orders.phone 规划手机号脱敏,先预览不要执行。” |
新增脱敏规则、脱敏算法和参数。 |
| 修改 | “把刚才的脱敏规则改成保留前 3 后 4。” | 修改后的脱敏规则,以及同表其他脱敏列是否保留。 |
| 删除 | “删除 orders.phone 的脱敏规则,先预览影响范围。” |
目标列规则是否删除,以及同表其他脱敏列是否保留。 |
计划生成后,应重点审查:
部分脱敏算法参数可能需要由运维侧受控提供,例如替换字符或自定义算法参数。 可以在算法属性中使用敏感值引用对象:
{
"primary_algorithm_properties": {
"replace-char": {
"secret_ref": "placeholder://secret-value-1"
}
}
}
占位符对象中的 secret_ref 只表示需要人工替换的敏感值槽位。
规划、预览、执行结果和校验输出只显示中性占位符或 ******,不会回显 secret_ref 或真实敏感值。
如果规则变更仍包含敏感值占位符,自动执行会在产生副作用前返回 secret_reference_manual_execution_required;执行人员应在 MCP 和 AI 应用之外替换真实值后手工执行。
建议先预览,确认待执行规则 DistSQL 和副作用范围后再执行。
| 阶段 | 自然语言示例 | 用户关注点 |
|---|---|---|
| 预览 | “先预览刚才的脱敏规则计划,不要执行。” | 查看将要执行的规则 DistSQL、算法和参数。 |
| 执行 | “确认执行刚才的计划。” | 确认有副作用的变更已经过审查。 |
| 人工执行 | “导出人工执行包,不要自动执行。” | 由运维人员在受控环境审查和执行。 |
| 校验 | “校验刚才的脱敏规则是否生效。” | 查看规则状态和 workflow 执行结果。 |
规则变更的通用审查流程见规则变更流程。
