Files
makemd/docs/guides/non-saas-multi-tenant-checklist.md

43 lines
1.5 KiB
Markdown
Raw Normal View History

# 非 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] 补充多租户隔离架构与实施清单