10 权限与安全边界¶
难度:中级|前置:系统思维、数据库|目标:明确谁能对什么做什么
四个基础问题¶
任何操作都要回答:
- 谁在操作?——身份;
- 操作什么?——资源;
- 做什么动作?——权限;
- 为什么允许?——策略与上下文。
例如:
不能只验证“用户已登录”,还要确认 D 属于 T、U 在 T 中拥有控制权限。
认证和授权¶
- 认证 Authentication:你是谁;
- 授权 Authorization:你能做什么。
API Key、JWT、设备证书解决身份问题,但不会自动解决资源级权限。
多租户¶
典型错误:
更安全的查询把租户条件作为强制边界:
服务、缓存 key、对象存储路径、向量检索 metadata 都需要租户隔离。
最小权限¶
设备状态查询服务不应该同时拥有删除设备的权限;只读 Agent 工具不应拿到管理员数据库账号。
权限越大,单个 Bug、Prompt Injection 或密钥泄露的影响面越大。
高风险操作¶
删除、支付、外部发送、设备控制应增加:
- 二次业务校验;
- 幂等键;
- 审批;
- 速率和批量限制;
- 操作预览;
- 审计日志;
- 可撤销或补偿。
审计¶
至少记录:
- 谁;
- 什么时候;
- 对什么资源;
- 做了什么;
- 参数摘要;
- 权限判断结果;
- 最终结果;
- 关联 trace_id。
审计日志自身需要防篡改、访问控制和保留策略。
完成标准¶
- 能区分认证和授权
- 能为设备查询写出资源级权限条件
- 能解释最小权限为什么重要
- 能为高风险工具设计审批和审计
完成后进入:IoT / AIoT 主线 或 AI Agent 主线。