安全基线¶
本页记录了部署或接入 MGP 时应满足的最低安全预期。
MGP 定义的是治理合同,而不是一个完整的安全产品。认证、传输保护、密钥管理和基础设施隔离仍然属于部署系统本身的职责。本页的作用,是明确真实部署时至少应该补上的安全控制。
范围¶
MGP 本身会标准化:
- policy context 传递
- delete、purge、revoke、expire 这类 lifecycle intent
- audit 与 lineage 结构
- capability declaration 与 negotiation
MGP 不会标准化:
- 唯一必选的认证协议
- 唯一必选的身份提供者
- 唯一必选的 policy engine 实现
- 唯一必选的存储安全模型
这个边界是刻意设计的,但并不意味着可以忽略部署层的安全控制。
传输安全¶
部署时应当:
- 所有远程 MGP 流量都走 TLS
- 不要在跨信任边界场景下使用明文传输
- 在生产环境中固定内部证书或使用受管信任根
- 明确说明 sidecar、runtime 与 gateway 之间是走 loopback、私有网络还是公网入口
如果没有 TLS,就应当把它视为仅限本地开发场景。
认证与身份¶
MGP 请求总会携带 policy_context,但 policy_context 本身不是认证机制。
部署时应当:
- 在信任请求内容之前先认证调用方
- 把已认证身份与
policy_context.actor_agent、tenant 字段建立绑定 - 当传输层身份与声明的 policy context 不一致时,根据部署规则拒绝请求
- 明确记录 gateway 信任的是上游 identity header、API key、JWT、mTLS 还是其他机制
推荐理解方式:
- 传输层身份证明“谁在调用”
policy_context说明“runtime 声称代表谁操作”- policy evaluation 决定“这次操作是否允许”
Tenant 隔离¶
多租户部署应当:
- 要求稳定的 tenant identifier
- 按 tenant 对 adapter 存储与 audit 记录做隔离
- 除非显式建模并可审计,否则跨租户读取必须不可能发生
- 对缺失或含糊的 tenant 标识采取拒绝策略,而不是默认放行
即使某个 adapter 支持多 subject 或多 scope,部署层也应显式绑定 tenant,而不是依赖自由元数据去猜测。
审计保留与完整性¶
Audit 数据本身就是 governed-memory 的一部分,也应得到相应保护。
部署时应当:
- 把 audit event 写入适合追加写的存储
- 将 audit retention 与 memory retention 分开定义
- 防止 audit sink 被静默篡改或跨租户读取
- 记录足够的 correlation 标识,以便串起 runtime 请求、adapter 行为与 backend 错误
如果需要做 audit redaction,也应使用明确、可审查的规则,而不是静默丢弃记录。
Delete、Purge 与责任边界¶
delete、purge 这类 lifecycle 请求会带来明确的责任要求。
部署时应当:
- 清楚记录哪些字段是 soft delete,哪些是 hard delete
- 在 audit trail 中记录 purge 结果
- 定义如何清理下游缓存、导出副本或复制链路
- 明确 gateway、adapter、external provider 谁才是最终删除责任方
不要在没有真实保证的情况下暗示“协议层 purge 成功就等于所有外部系统都已删除”。
密钥管理¶
部署时应当:
- 不把 provider credential 提交到仓库
- 通过环境注入或 secret store 管理凭证
- 尽可能按项目、tenant 或环境隔离 provider credential
- 允许在不修改协议的前提下完成密钥轮换
参考集成应使用占位符、.env.example 或仓库外配置路径,而不是提交真实凭证。
外部 Provider 信任边界¶
Service-backed adapter 会引入第二层信任边界。
在使用外部 provider adapter 之前,应明确记录:
- 哪些数据字段会离开你的环境
- provider 如何处理 retention 与 deletion
- provider 侧的 graph extraction、indexing 或 deduplication 是否会改变原始内容
- 哪些失败模式会造成 partial result 或 delayed consistency
对于会把内容发送到 provider 侧模型或索引流水线的 adapter,这一点尤为重要。
运维控制¶
生产部署还应定义:
- rate limit 与 abuse control
- request timeout 与 retry 规则
- structured logging 与 request identifier
- 有状态 adapter 的备份与恢复流程
- policy 或 deletion 失败时的 incident response
实际部署规则¶
把 MGP 看成更大系统中的一层:
- 传输与身份控制负责保护边界
- policy context 与 audit 负责保留治理意图
- adapter 与 backend 负责落实存储行为
- 部署文档负责解释这些层之间的责任边界与剩余风险