数据加密 MCP 功能插件帮助用户为 ShardingSphere-Proxy 逻辑库规划、审查、执行和校验数据加密规则变更。 实际加密能力由 ShardingSphere-Proxy 及其加密算法插件提供。 本功能只生成和应用加密规则 DistSQL,不生成物理 DDL、派生列 DDL、索引建议或数据迁移任务。
runtimeDatabases 应指向 Proxy 逻辑库,而不是底层物理存储库。用户在集成 ShardingSphere-MCP 的 AI 应用中描述加密目标即可。
示例:
<logic-database>.orders.status 当前是否已有加密规则。<logic-database>.orders.status 规划可逆加密,需要支持等值查询,先预览不要执行。用户需要审查计划中的加密规则 DistSQL、算法参数、规则列名和副作用范围,再批准有副作用的执行。
建议在自然语言中说明以下信息:
| 信息 | 说明 | 示例 |
|---|---|---|
| 逻辑库、表和列 | 指定要配置加密规则的 ShardingSphere-Proxy 逻辑对象。 | “为 <logic-database>.orders.status 配置加密。” |
| 模式或命名空间 | 多模式逻辑库建议说明。 | “模式是 public。” |
| 操作类型 | 创建、修改或删除加密规则。 | “新增加密规则”或“删除这个列的加密规则”。 |
| 加密目标 | 说明是否需要可逆加密、等值查询或模糊查询。 | “需要可逆加密,并支持等值查询。” |
| 算法偏好 | 可以指定算法,也可以要求 MCP 根据 Proxy 可用算法推荐。 | “列出当前 Proxy 可用的数据加密算法。”或“优先使用 AES。” |
| 算法参数 | 例如密钥等敏感参数,应通过受保护渠道提供。 | “密钥通过受保护渠道提供。” |
| 规则列名 | 如果需要密文列、辅助查询列或模糊查询列,应明确给出规则中使用的列名。 | “密文列名是 status_cipher。” |
| 操作 | 自然语言示例 | 需要审查的内容 |
|---|---|---|
| 创建 | “为 orders.status 规划可逆加密,需要支持等值查询,先预览不要执行。” |
新增加密规则、算法、参数和规则列名。 |
| 修改 | “把刚才的加密计划改成 AES 算法,并继续预览。” | 修改后的加密规则,以及同表其他加密列是否保留。 |
| 删除 | “删除 orders.status 的加密规则,先预览影响范围。” |
目标列规则是否删除,以及同表其他加密列是否保留。 |
计划生成后,应重点审查:
加密算法可能需要密钥、盐值或其他敏感参数。 用户可以通过敏感值引用对象提供这些值,并在执行前确认参数来源和使用范围。
示例:
{
"primary_algorithm_properties": {
"aes-key-value": {
"secret_ref": "placeholder://secret-value-1"
}
}
}
ShardingSphere-MCP 面向模型返回计划、workflow resource、预览、执行、校验、恢复和错误信息时,会对已识别的敏感参数做掩码处理。
内置算法和已在算法属性模板中标记为敏感的自定义算法参数,可以被稳定识别并掩码。
占位符对象中的 secret_ref 只表示需要人工替换的敏感值槽位;规划、预览、执行结果和校验输出不会回显 secret_ref 或真实敏感值。
未声明的自定义参数不应以明文写入普通对话、日志或工单描述。
如果规则变更仍包含敏感值占位符,自动执行会在产生副作用前返回 secret_reference_manual_execution_required;执行人员应在 MCP 和 AI 应用之外替换真实值后手工执行。
加密规则可能引用密文列、辅助查询列或模糊查询列。 这些列名只是规则 DistSQL 的一部分,ShardingSphere-MCP 不会为它们生成物理 DDL,也不会检查真实物理表是否已存在对应列。
*_cipher 常用于密文列名。建议先预览,确认待执行规则 DistSQL 和副作用范围后再执行。
| 阶段 | 自然语言示例 | 用户关注点 |
|---|---|---|
| 预览 | “先预览刚才的加密规则计划,不要执行。” | 查看将要执行的规则 DistSQL、算法和参数。 |
| 执行 | “确认执行刚才的计划。” | 确认有副作用的变更已经过审查。 |
| 人工执行 | “导出人工执行包,不要自动执行。” | 由运维人员在受控环境审查和执行。 |
| 校验 | “校验刚才的加密规则是否生效。” | 查看规则状态和 workflow 执行结果。 |
规则变更的通用审查流程见规则变更流程。
