租户隔离
每个组织数据流与产品资源都有所属org_id。查询规划会在执行前注入已授权组织边界。资源 Handler 也会在读取或修改前加载目标并验证所属组织。
跨工作区访问必须使用显式 IAM 授权或支持的资源共享。资源不匹配时,系统不会静默切换组织。
_sys 组织是受保护的平台范围。租户 JWT 与 ms_* API Token 无法用于枚举平台管理员或 MoleSignal 平台遥测。
身份验证与授权
MoleSignal 接受:- 登录 JWT,包括切换工作区后新签发的限定范围 JWT;
- 形如
ms_<prefix>_<secret>的 API Token; - 用于窄范围公开或集成路由的专用自验证 Token。
JWT 签名密钥
JWT 签名密钥会在首次启动时引导写入数据库。元数据端点不会返回原始密钥字节。轮换之后,新的 Token 用新密钥签发,用已退役密钥签发的 Token 在 24 小时内仍然有效。 列出或轮换签名密钥需要平台权限sys.settings.manage:
MS_AUTH_JWT_SECRET_OVERRIDE。
审计
安全相关与产品修改路径会记录操作者、组织、操作、目标、时间与安全元数据。具备audit.read 后,可在设置 → 审计查询组织事件。
审计记录默认保留 90 天。系统每天删除所有组织和平台中早于保留期的记录,删除后无法恢复。在 _sys 组织的设置 → 审计保留中修改保留天数,需要 sys.settings.manage;填 0 表示永久保留。每次修改保留天数都会以 audit_retention.update 记入平台审计。
凭据、模型密钥、敏感 Webhook 请求头与原始签名材料不会写入审计负载。
资源共享
公开仪表盘和报告链接属于 Bearer 凭据,但不会变成组织 Token。MoleSignal 会将链接交换为短期 HttpOnly 共享会话,并把访问限制到一个已保存资源。 公开仪表盘面板只能通过受限代理执行服务器已保存查询。共享可以过期、要求密码、限制最大查看次数、禁用下载,并支持撤销或轮换。详见资源共享。字段级加密
创建数据流时把字段标记为加密字段。MoleSignal 会在值写入 Parquet 之前用 AES-256-GCM 加密它们,普通查询返回的是密文,SQL 用decrypt(field) 还原明文,参见数据流。
组织数据密钥由 MS_CIPHER_KEY 中的加密根密钥封装,密钥材料创建后不会返回。读取密钥元数据需要 org.settings.read;创建、轮换或删除密钥需要 org.settings.manage。
Secret 与遥测卫生
- 将数据库、对象存储、SMTP、SSO、模型服务商与 Webhook 凭据存入密钥管理器。
- 外部链路导出的敏感请求头使用
env:或secret:引用。 - 将内部 gRPC
5082保留在可信网络;该端口包含集群协议。 - 为外部 HTTP、OTLP gRPC
4317与 Flight SQL5083配置 TLS。 - 除非远程诊断受到明确保护,否则让 pprof Listener 只绑定回环地址。
- 后端链路不会记录请求体、SQL 值、凭据、提示词、模型输出与工具参数。
速率与大小限制
router 角色对每个组织的接入与查询请求执行令牌桶限流,并返回带 Retry-After 响应头的 429,standalone 节点不应用这些限制,参见分角色部署。超过 2 MiB 的接入请求体会被拒绝并返回 413。
生产环境加固
在真实数据到达之前,请替换沙箱的默认值:root 账号、MS_CIPHER_KEY、数据库与对象存储凭据,参见生产检查清单。
自身可观测性
配置受保护的
_sys 遥测、尾采样与节点本地诊断。