逻辑隔离的隐患
多租户系统最常见的做法是共享一张表,靠 tenant_id 过滤。问题在于:任何一处忘记加过滤条件,就是跨租户数据泄露。这类 bug 在代码评审里极难发现,因为单看每段代码都是对的。
物理隔离的代价与收益
Hermes 选择以 Profile 为隔离单位:每个 Agent 一个独立目录,拥有自己的记忆库、会话状态、技能包与 state.db。
代价很直接:无法跨 Profile 做全局检索,磁盘占用更高,进程数更多。
收益也很直接:隔离不依赖任何一行查询代码的正确性。哪怕上层逻辑写错,也不可能读到另一个 Profile 的数据。
什么时候可以妥协
如果场景是"同一个企业内的多个部门",逻辑隔离 + 行级安全策略(RLS)足够了。但如果是"不同客户之间",物理隔离是唯一让人睡得着的方案。
安全边界的成本,永远低于一次泄露的代价。
#隔离#安全#多租户