安全机制
ThingsIoT 平台从认证、授权、传输、存储等多个层面构建了完整的安全防护体系。
一、JWT Token 认证
- 无状态认证:基于 JWT(JSON Web Token)的认证机制,服务端无需存储会话状态
- Token 过期与刷新:支持 token 有效期配置,过期后可刷新
- 请求拦截:API 网关层统一验证 token,非法请求直接拦截
二、RBAC 权限模型
- 基于角色的访问控制:用户 → 角色 → 权限的三层模型
- 细粒度权限:
- 菜单权限:控制页面访问
- 接口权限:控制 API 调用
- 数据权限:项目级/网关级数据隔离
- 多角色支持:一个用户可拥有多个角色,权限取并集
三、请求限流
- IP 级别限流:限制单 IP 的请求频率,防止恶意攻击
- 用户级别限流:限制单用户的 API 调用频率
- 熔断机制:下游服务异常时自动熔断,防止雪崩效应
四、数据安全
- 敏感数据加密:关键字段(密码、密钥等)加密存储
- 传输加密:HTTPS 全站加密,MQTT 支持 TLS 加密传输
- 数据隔离:项目级数据桶隔离,多租户数据互不可见
五、审计日志(规划中)
- 操作行为全程记录
- 支持按用户、时间、操作类型查询
- 满足合规审计需求
安全架构示意
┌─────────────────────────────────────────────────────┐
│ 客户端请求 │
└────────────────────┬────────────────────────────────┘
│ HTTPS
┌────────────────────▼────────────────────────────────┐
│ Spring Cloud Gateway │
│ ① JWT Token 验证 ② IP/用户限流 ③ CORS 跨域 │
└────────────────────┬────────────────────────────────┘
│ 路由分发
┌────────────────────▼────────────────────────────────┐
│ 微服务层 │
│ ④ RBAC 权限校验 ⑤ 数据权限过滤 │
└────────────────────┬────────────────────────────────┘
│
┌────────────────────▼────────────────────────────────┐
│ 数据层 │
│ ⑥ 敏感字段加密 ⑦ 项目数据隔离 │
└─────────────────────────────────────────────────────┘