1.5 KiB
1.5 KiB
非 SaaS 多租户实施清单 (V30.0)
1. 实施要点
- 数据独占:每个租户拥有独立的
tenant_id与加密盐。 - 资源配额:严格限制单个租户的并发 Worker 数量与算力开销。
2. 多租户隔离架构
2.1 数据层隔离
| 层级 | 隔离策略 | 实现方式 |
|---|---|---|
| 数据库 | 逻辑隔离 | 所有表添加 tenant_id 索引列 |
| 表结构 | 租户专属表 | cf_{租户标识}_{业务表} (如需物理隔离) |
| Redis | 键名前缀 | {tenantId}:{业务Key} |
2.2 应用层隔离
- TenantContext:请求级别租户上下文 ThreadLocal 传递
- 行级安全:所有查询自动注入
WHERE tenant_id = ?条件 - 跨租户校验:API 层验证操作权限与数据归属
2.3 资源配额管理
| 资源类型 | 配额限制 | 熔断策略 |
|---|---|---|
| API 并发 | 100 req/s/租户 | 超出返回 429 |
| Worker 并发 | 10 任务/租户 | 队列满拒绝 |
| 存储空间 | 10 GB/租户 | 定期清理日志 |
3. 安全实施清单
- 数据库连接池配置租户路由中间件
- Redis 键空间隔离验证
- 日志脱敏 (tenantId 脱敏处理)
- API 网关层租户识别 (Header: X-Tenant-ID)
- 跨租户漏洞渗透测试
4. 测试用例
- 租户 A 无法访问租户 B 的数据
- 超配额请求正确返回 429 错误
- 租户删除后数据完全清理
版本: V30.0 更新日志: [AI-3 @ 2026-03-15] 补充多租户隔离架构与实施清单